Re: [Iup-users] Problem linking with scintilla
Brought to you by:
scuri
From: Anonymous <ano...@gm...> - 2023-07-24 14:15:56
|
Mucho gracias Antonio! You are so patient too! I am down to six errors I think, but it seems every time I fix one set of errors, a new set of errors pop up. I really don't know how to read "ld" yet, but what do you think of the following errors: ld: ./lib/libiup_scintilla.a(ExternalLexer.o): in function `_GLOBAL__sub_I_ExternalLexer.cxx': ExternalLexer.cxx:(.text.startup+0x19): undefined reference to `__dso_handle' ld: ExternalLexer.cxx:(.text.startup+0x37): undefined reference to `__dso_handle' ld: ./lib/libiup_scintilla.a(CaseConvert.o): in function `_GLOBAL__sub_I_CaseConvert.cxx': CaseConvert.cxx:(.text.startup+0x8): undefined reference to `__dso_handle' ld: CaseConvert.cxx:(.text.startup+0x93): undefined reference to `__dso_handle' ld: CaseConvert.cxx:(.text.startup+0x11f): undefined reference to `__dso_handle' ld: ./lib/libiup_scintilla.a(LexAda.o):LexAda.cxx:(.text.startup+0x44): more undefined references to `__dso_handle' follow Which additional library(s) do I need to add now (I'm currently at 19!!)? On 7/24/23 05:38, Antonio Scuri wrote: > IupScintilla is C only, but Scintilla itself is not. > > Em qua., 19 de jul. de 2023 às 16:14, Anonymous > <ano...@gm...> escreveu: > > I was down to 8,518 errors, but then I noticed something: > > ScintillaGTK.cxx:(.text+0x22c0): undefined reference to `operator > new(unsigned long)' > ld: ./lib/libiup_scintilla.a(ScintillaGTK.o): in function > `Scintilla::ScintillaGTK::RequestSelection(_GdkAtom*)': > > There are a lot of those kinds of errors which seems to indicated > that libiup_scintilla.a was compiled as a C++ program and not a C > program. I thought IUP was supposed to be C-only and not a mix? Is > there a C-only version of libiup_scintilla.a that I can download > somewhere? > > On 7/18/23 13:31, Anonymous wrote: >> >> Thanks for the advice. I already use the L switch for linking to >> all the IUP *.a files, i.e. -- *-L./lib*. That works fine for all >> files except for libiup_scintilla.a. For that you are telling me >> I need to link to specific files in GTK3. It seems to me GTK3 >> isn't meant to be called directly by programs, only by the OS >> (hence the reason it isn't in the $PATH), so I temporarily add >> the GTK3 directory to my path and then linked to them ... except >> that doesn't work. The (Debian) system says there is no libgtk-3, >> which when I go and look for it, there is only libgtk-3.so.0 >> which (to me) looks like a symbolic link, so I have to change >> *-lgtk-3* to *-l:libgtk-3.so.0* and so on and so forth for all 12 >> files the documentation listed: *-l:libgdk-3.so.0 >> -l:libgdk_pixbuf-2.0.so.0 -l:libpangocairo-1.0.so.0 >> -l:libpango-1.0.so.0 -l:libcairo.so.2 -l:libgobject-2.0.so.0 >> -l:libgmodule-2.0.so.0 -l:libglib-2.0.so.0 -l:libXext.so.6 >> -l:libX11.so.6 -l:libm.so.6*. Now it links to them but >> unfortunately, this leads to a new problem, namely: >> >> *ld: ./lib/libiup_scintilla.a(ScintillaGTKAccessible.o): >> undefined reference to symbol 'atk_object_notify_state_change'** >> **ld: /lib/x86_64-linux-gnu/libatk-1.0.so.0: error adding >> symbols: DSO missing from command line* >> >> Now what do I do? >> >> PS -- There is a typo in the doc: *gdk-3* should have been *-lgdk-3* >> PPS -- Look at that huge, gigantic command line! This is far, far >> easier to do in Windows than it is in Linux. >> >> On 7/17/23 05:56, Antonio Scuri wrote: >>> -L/my_path/iup/lib/Linux >>> >>> Em seg., 17 de jul. de 2023 às 09:04, Anonymous >>> <ano...@gm...> escreveu: >>> >>> On 7/17/23 04:49, Antonio Scuri wrote:There is no >>> libscintilla.a so I am stuck with libscintilla.so >>>> There is no sense in using GTK 2 anymore for recent >>>> systems. Focus on GTK 3. >>> >>> Yes sir, I understand. I will focus only on GTK3 from now on. >>> >>> The problem I'm see is, none of the files mentioned in the >>> IUP documentation for static linking are visible, even with >>> GTK3 installed. How can I make the files visible from the >>> current working directory my source code is in? >>> >>>> Em sáb., 15 de jul. de 2023 às 17:52, Anonymous >>>> <ano...@gm...> escreveu: >>>> >>>> Note, the documentation says to use -lpangox-2.0, but >>>> their is no libpangox-2.0.so <http://libpangox-2.0.so> >>>> file that exists in the GTK2 or GTK3 directory. Was it >>>> supposed to say -lpangoxft-1.0 or -lpangomm-1.4.so >>>> <http://lpangomm-1.4.so> or -lpangocairo-1.0.so.0? >>>> >>>> On 7/15/23 13:06, Anonymous wrote: >>>>> My problem is why won't GTK show up in my path, even >>>>> though the system works with GTK apps? Is that normal? >>>>> I could copy all the files needed to a directory for >>>>> static linking as https://www.tecgraf.puc-rio.br/iup/ >>>>> says to do, >>>>> >>>>> "For GTK, IUP uses the GTK, GDK, Pango, Cairo if GTK >>>>> 3, and GLib. To *statically* link an application with >>>>> IUP, use the following options in the linker call (in >>>>> the same order) ... >>>>> >>>>> *-lgtk-x11-2.0 -lgdk-x11-2.0* -lgdk_pixbuf-2.0*-lpangox-1.0* -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lXext -lX11 -lm (for GTK 2) >>>>> or >>>>> *-lgtk-3 gdk-3* -lgdk_pixbuf-2.0*-lpangocairo-1.0* -lpango-1.0*-lcairo* -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lXext -lX11 -lm (for GTK 3)" >>>>> >>>>> ... but do I really have to copy files from root to a >>>>> place where it can be found by my make file? That >>>>> doesn't make sense but if that is how things are done >>>>> in Linux, I will just have to do it. I just hope those >>>>> files are easy to find. >>>>> >>>>> On 7/15/23 12:31, Antonio Scuri wrote: >>>>>> Please take a look at the IUP documentation. You >>>>>> will find more info there: >>>>>> >>>>>> https://www.tecgraf.puc-rio.br/iup/ >>>>>> >>>>>> In Guide / Building Applications >>>>>> >>>>>> Best, >>>>>> Scuri >>>>>> >>>>>> >>>>>> Em sáb., 15 de jul. de 2023 às 12:54, Anonymous >>>>>> <ano...@gm...> escreveu: >>>>>> >>>>>> One last follow-up... >>>>>> >>>>>> If I go to >>>>>> https://packages.debian.org/bullseye/amd64/libgtk2.0-0/filelist, >>>>>> it shows me where the GTK files are located for >>>>>> Debian based systems. Why isn't this in the PATH? >>>>>> Why do I have GTK programs that work if it isn't >>>>>> in the PATH? Does that mean I have to link to the >>>>>> GTK library using a hard-coded path? That's a >>>>>> problem since that means that since Debian >>>>>> doesn't follow the standard Linux filesystem >>>>>> hierarchy standard (which says GTK should be >>>>>> installed in /usr/lib/ and not >>>>>> /usr/lib/x86_64-linux-gnu/) if I hard-code the >>>>>> path name in the linker for GTK, it will only >>>>>> work for Debian systems. >>>>>> >>>>>> For being so user friendly, MX Linux sure is >>>>>> developer unfriendly. >>>>>> >>>>>> On 7/15/23 08:29, Anonymous wrote: >>>>>>> >>>>>>> That's a typo. It actually says it has both >>>>>>> installed but I can't find either one on my >>>>>>> computer. >>>>>>> >>>>>>> On 7/15/23 08:23, Anonymous wrote: >>>>>>>> >>>>>>>> Ola, >>>>>>>> >>>>>>>> Much thanks Antonio! I went from 13381 errors >>>>>>>> to two, but these two errors look ominous... >>>>>>>> >>>>>>>> ld: ./lib/libiup.a(iupgtk_toggle.o): undefined >>>>>>>> reference to symbol 'gtk_toggle_button_new' >>>>>>>> ld: /lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0: >>>>>>>> error adding symbols: DSO missing from command l >>>>>>>> ine >>>>>>>> >>>>>>>> Is that one error or two? My system does not >>>>>>>> have a file named libgtk-x11-2.0.0, so I tried... >>>>>>>> >>>>>>>> |dpkg -l libgtk* | grep -e '^i' | grep -e >>>>>>>> 'libgtk-*[0-9]' and it returned... |ii libgtk-3-0:amd64 3.24.24-4+deb11u3 amd64 GTK graphical user interface library >>>>>>>> ii libgtk-3-common 3.24.24-4+deb11u3 all common files for the GTK graphical user interface library >>>>>>>> ii libgtk2.0-0:amd64 2.24.33-2 amd64 GTK graphical user interface library - old version >>>>>>>> ii libgtk2.0-common 2.24.33-2 all common files for the GTK graphical user interface library >>>>>>>> ii libgtk3-perl 0.038-1 all Perl bindings for the GTK+ graphical user interface library >>>>>>>> || >>>>>>>> >>>>>>>> Oops! It looks like IUP will only work with >>>>>>>> GTK2 and that says I have GTK3, right? Is there >>>>>>>> any workaround for that or am I screwed? >>>>>>>> >>>>>>>> Signed, >>>>>>>> Andrew >>>>>>>> >>>>>>>> On 7/15/23 05:50, Antonio Scuri wrote: >>>>>>>>> The scintilla library itself is missing. >>>>>>>>> IupScintilla is IUP using Scintilla. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Em sáb., 15 de jul. de 2023 às 09:43, >>>>>>>>> Anonymous <ano...@gm...> escreveu: >>>>>>>>> >>>>>>>>> Ola, >>>>>>>>> >>>>>>>>> I'm still new to Linux so forgive me if I >>>>>>>>> ask what might be stupid >>>>>>>>> questions. I cannot link to scintilla >>>>>>>>> using IUP. I get a slew of error >>>>>>>>> like this: >>>>>>>>> >>>>>>>>> ld: >>>>>>>>> ./lib/libiup_scintilla.a(ScintillaGTK.o): >>>>>>>>> in function >>>>>>>>> `Scintilla::ScintillaGTK::ModifyScrollBars(long, >>>>>>>>> long)': >>>>>>>>> ScintillaGTK.cxx:(.text+0x70d): undefined >>>>>>>>> reference to >>>>>>>>> `gtk_adjustment_get_upper' >>>>>>>>> ld: ScintillaGTK.cxx:(.text+0x737): >>>>>>>>> undefined reference to >>>>>>>>> `gtk_adjustment_get_page_size' >>>>>>>>> ld: ScintillaGTK.cxx:(.text+0x77b): >>>>>>>>> undefined reference to >>>>>>>>> `gtk_adjustment_set_upper' >>>>>>>>> ld: ScintillaGTK.cxx:(.text+0x790): >>>>>>>>> undefined reference to >>>>>>>>> `gtk_adjustment_set_page_size' >>>>>>>>> ld: ScintillaGTK.cxx:(.text+0x7a6): >>>>>>>>> undefined reference to >>>>>>>>> `gtk_adjustment_set_page_increment' >>>>>>>>> ld: ScintillaGTK.cxx:(.text+0x7da): >>>>>>>>> undefined reference to >>>>>>>>> `gtk_adjustment_get_upper' >>>>>>>>> ld: ScintillaGTK.cxx:(.text+0x81a): >>>>>>>>> undefined reference to >>>>>>>>> `gtk_adjustment_get_page_size' >>>>>>>>> ld: ScintillaGTK.cxx:(.text+0x855): >>>>>>>>> undefined reference to >>>>>>>>> `gtk_adjustment_set_upper' >>>>>>>>> ld: ScintillaGTK.cxx:(.text+0x86a): >>>>>>>>> undefined reference to >>>>>>>>> `gtk_adjustment_set_page_size' >>>>>>>>> ld: ScintillaGTK.cxx:(.text+0x87f): >>>>>>>>> undefined reference to >>>>>>>>> `gtk_adjustment_set_page_increment' >>>>>>>>> >>>>>>>>> And etc, etc, etc for 13381 lines. >>>>>>>>> >>>>>>>>> I presume that means a dependency is >>>>>>>>> missing but what dependency would >>>>>>>>> that be? Or it might be something else? >>>>>>>>> Does anyone know? >>>>>>>>> >>>>>>>>> Signed, >>>>>>>>> Andrew >>>>>>>>> >>>>>>>>> ╔═════════════════════╗ >>>>>>>>> ║ Environment ║ >>>>>>>>> ╟─────────────────────╢ >>>>>>>>> ║ IUP v3.30 ║ >>>>>>>>> ║ IM v3.12 ║ >>>>>>>>> ║ CD v5.11.1 ║ >>>>>>>>> ║ Mx Linux v21.3 ║ >>>>>>>>> ║ KDE_x64 Wildflower ║ >>>>>>>>> ╚═════════════════════╝ >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> Iup-users mailing list >>>>>>>>> Iup...@li... >>>>>>>>> https://lists.sourceforge.net/lists/listinfo/iup-users >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> Iup-users mailing list >>>>>>>>> Iup...@li... >>>>>>>>> https://lists.sourceforge.net/lists/listinfo/iup-users >>>>>> _______________________________________________ >>>>>> Iup-users mailing list >>>>>> Iup...@li... >>>>>> https://lists.sourceforge.net/lists/listinfo/iup-users >>>>>> >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> Iup-users mailing list >>>>>> Iup...@li... >>>>>> https://lists.sourceforge.net/lists/listinfo/iup-users >>>> |