Gtk 2 application does not star because symbol lookup error

Hello. I am trying to run a gtk application. When I execute the commands on a terminal to run it, what is show to me it is:

/media/34GB/Arquivos-de-Programas-Linux/palemoon/palemoon: symbol lookup error: /media/34GB/Arquivos-de-Programas-Linux/palemoon/libxul.so: undefined symbol: gdk_x11_set_sm_client_id

I try to run it with: ./ld-linux-x86-64.so.2 --library-path /media/34GB/Arquivos-de-Programas-Linux/Gcc-4.9.4/lib64/:/media/34GB/Arquivos-de-Programas-Linux/Glibc-2.18-64bit/lib/:/usr/lib/:/lib/:/media/34GB/Arquivos-de-Programas-Linux/xorg/X11-1.6.6/lib/:/media/34GB/Arquivos-de-Programas-Linux/xorg/Xcb-1.13/lib/ /media/34GB/Arquivos-de-Programas-Linux/palemoon/palemoon

Is this error message indicating that a library file on my system (which I think it is Gtk related) does not have some function or other thing implemented that is necessary to run Palemoon?

How can I solve it? Another version (newer)? If yes, which one?

It means that the libxul.so shared library was compiled against a version of GDK that had the gdk_x11_set_sm_client_id() symbol, but youā€™re trying to run it against a version of GDK that doesnā€™t have it.

The gdk_x11_set_sm_client_id() function is only available when building GTK with the X11 backend enabled.

1 Like

Okay. I changed my command to be sure it uses a GTK version with the symbol.

Instead, now I execute:

./ld-linux-x86-64.so.2 --library-path /media/34GB/Arquivos-de-Programas-Linux/Gcc-4.9.4/lib64/:/media/34GB/Arquivos-de-Programas-Linux/Freetype-2.2.1/lib/:/media/34GB/Arquivos-de-Programas-Linux/Fontconfig-2.4.0/lib/:/media/34GB/Arquivos-de-Programas-Linux/xorg/Xrender-0.9.0.2/lib/:/media/34GB/Arquivos-de-Programas-Linux/Alsa-1.0.10/lib/:/media/34GB/Arquivos-de-Programas-Linux/Dbus-glib-0.80/lib:/media/34GB/Arquivos-de-Programas-Linux/Dbus-1.1.20/lib/:/media/34GB/Arquivos-de-Programas-Linux/Glib-2.48.0/lib/:/media/34GB/Arquivos-de-Programas-Linux/GtkĀ±2.10.0/lib/:/media/34GB/Arquivos-de-Programas-Linux/Atk-1.17.0/lib/:/media/34GB/Arquivos-de-Programas-Linux/Pango-1.13.0/lib/:/media/34GB/Arquivos-de-Programas-Linux/Cairo-1.2.0/lib/:/media/34GB/Arquivos-de-Programas-Linux/xorg/X11-1.6.6/lib/:/media/34GB/Arquivos-de-Programas-Linux/xorg/Xcb-1.13/lib/:/media/34GB/Arquivos-de-Programas-Linux/xorg/Xext-1.3.4/lib/:/media/34GB/Arquivos-de-Programas-Linux/xorg/Xt-1.0.0/lib/:/media/34GB/Arquivos-de-Programas-Linux/Zlib-1.2.11/lib/:/media/34GB/Arquivos-de-Programas-Linux/xorg/ICE-1.0.0/lib/pkgconfig/ /media/34GB/Arquivos-de-Programas-Linux/palemoon/palemoon

I am sure the GTK has the symbol, because I executed nm -gD libgdk-x11-2.0.so and it has:
000000000001f060 T gdk_set_show_events 000000000001b670 T gdk_set_sm_client_id 000000000004d780 T gdk_set_use_xshm

yet I continue to receive

(pale moon:17323): Gtk-WARNING **: Locale not supported by C library.
Using the fallback ā€˜Cā€™ locale.
Gtk-Message: Failed to load module ā€œcanberra-gtk-moduleā€: libcanberra-gtk-module.so: cannot open shared object file: No such file or directory
/media/34GB/Arquivos-de-Programas-Linux/palemoon/palemoon: symbol lookup error: /media/34GB/Arquivos-de-Programas-Linux/palemoon/libxul.so: undefined symbol: gdk_x11_set_sm_client_id

So it seems its trying to use the system default Gtk that does not support the symbol. If so, how can I change it to use my own compiled copy? Why is not the one that I pass through ./ld-linux-x86-64.so.2 working?

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.