Re: [Iup-users] Problem linking with scintilla
Brought to you by:
scuri
From: Anonymous <ano...@gm...> - 2023-07-18 20:31:57
|
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 >> |