/usr/lib64/libgtkmm-3.0.so: undefined reference to `Gtk::Plug_Class::wrap_new(_GObject*)' /usr/lib64/libgtkmm-3.0.so: undefined reference to `Gtk::Socket::get_type()' /usr/lib64/libgtkmm-3.0.so: undefined reference to `Gtk::Plug::get_type()' /usr/lib64/libgtkmm-3.0.so: undefined reference to `Gtk::Socket_Class::wrap_new(_GObject*)' lapmdbuerkle ~ # ldd -r /usr/lib64/libgtkmm-3.0.so linux-vdso.so.1 (0x00007fff218e6000) ... libgraphite2.so.3 => /usr/lib64/libgraphite2.so.3 (0x00007fb4ebaee000) undefined symbol: _ZN3Gtk10Plug_Class8wrap_newEP8_GObject (/usr/lib64/libgtkmm-3.0.so) undefined symbol: _ZN3Gtk12Socket_Class8wrap_newEP8_GObject (/usr/lib64/libgtkmm-3.0.so) undefined symbol: _ZN3Gtk6Socket8get_typeEv (/usr/lib64/libgtkmm-3.0.so) undefined symbol: _ZN3Gtk4Plug8get_typeEv (/usr/lib64/libgtkmm-3.0.so) lapmdbuerkle ~ # jobs [1]+ Angehalten less /tmp/portage/gnome-extra/gnome-system-monitor-3.18.2/temp/build.log lapmdbuerkle ~ # fg ... libtool: link: x86_64-pc-linux-gnu-g++ -Wall -march=native -O2 -pipe -std=gnu++11 -Wl,-O1 -o gnome-system-monitor gsm-resources.o argv.o interface.o load-graph.o proctable.o prettytable.o util.o procactions.o procdialogs.o memmaps.o openfiles.o procproperties.o smooth_refresh.o disks.o selinux.o systemd.o cgroups.o gsm_gnomesu.o gsm_gksu.o gsm_pkexec.o lsof.o prefsdialog.o application.o e_date.o gsm_color_button.o treeview.o main.o -Wl,--export-dynamic -pthread -Wl,--as-needed -lgtop-2.0 -lgtkmm-3.0 -latkmm-1.6 -lgdkmm-3.0 -lpangomm-1.4 -lcairomm-1.0 -lxml2 -lrsvg-2 -lm -lgiomm-2.4 -lglibmm-2.4 -lsigc-2.0 -lgmodule-2.0 -lsystemd -lwnck-3 -lgtk-3 -latk-1.0 -lgio-2.0 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -lgdk_pixbuf-2.0 -lcairo-gobject -lcairo -lgobject-2.0 -lglib-2.0 -pthread /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/../../../../lib64/libgtkmm-3.0.so: undefined reference to `Gtk::Plug_Class::wrap_new(_GObject*)' /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/../../../../lib64/libgtkmm-3.0.so: undefined reference to `Gtk::Socket::get_type()' /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/../../../../lib64/libgtkmm-3.0.so: undefined reference to `Gtk::Plug::get_type()' /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/../../../../lib64/libgtkmm-3.0.so: undefined reference to `Gtk::Socket_Class::wrap_new(_GObject*)' collect2: error: ld returned 1 exit status Makefile:538: recipe for target 'gnome-system-monitor' failed make[3]: *** [gnome-system-monitor] Error 1 make[3]: Leaving directory '/tmp/portage/gnome-extra/gnome-system-monitor-3.18.2/work/gnome-system-monitor-3.18.2/src' ... lapmdbuerkle ~ # emerge -v @preserved-rebuild These are the packages that would be merged, in order: Calculating dependencies... done! Total: 0 packages, Size of downloads: 0 KiB Nothing to merge; quitting. => will rebuild the package, guess that will fix it...
rebuild didn't change anything, still broken symbols in the lib.
any hints on where to find these symbols, anyone?
I just had a quick look at the gtkmm-sources: Socket[_Class] and Plug[_Class] are only handled in wrap_init.cc if GDK_WINDOWING_X11 is defined. Did you probably disable USE=X for gtk+ ? If yes you may want to rebuild gtk+ with USE=X enabled and then rebuild gtkmm (also with USE=X).
bug-wranglers@gentoo.org
I am having the same issue, gtkmm[-X]. My problem is that I don't see where gnome-system-monitor requires this from gtkmm. This is also a problem for eiciel.
lxmdb ~ # eix gtk+ [I] x11-libs/gtk+ Available versions: (1) 1.2.10-r13 (2) 2.24.28-r1 2.24.29 (3) 3.16.7 ~3.18.6 3.18.7 {X aqua broadway cloudprint colord cups debug examples +introspection nls test vim-syntax wayland xinerama ABI_MIPS="n32 n64 o32" ABI_PPC="32 64" ABI_S390="32 64" ABI_X86="32 64 x32" LINGUAS="az ca cs da de el es et eu fi fr ga gl hr hu it ja ko lt nl nn no pl pt pt_BR ro ru sk sl sr sv tr uk vi"} Installed versions: 2.24.29(2)(23:23:32 23.02.2016)(cups introspection vim-syntax xinerama -aqua -debug -examples -test ABI_MIPS="-n32 -n64 -o32" ABI_PPC="-32 -64" ABI_S390="-32 -64" ABI_X86="32 64 -x32") 3.18.7(3)(23:44:12 23.02.2016)(X colord cups introspection vim-syntax wayland xinerama -aqua -broadway -cloudprint -debug -examples -test ABI_MIPS="-n32 -n64 -o32" ABI_PPC="-32 -64" ABI_S390="-32 -64" ABI_X86="32 64 -x32") Homepage: http://www.gtk.org/ Description: Gimp ToolKit + ... Looks to me like 2.24.29 does not have an X use-flag and in 3.18.7 it is set. What next?
(In reply to Mark Dominik Bürkle from comment #6) > Looks to me like 2.24.29 does not have an X use-flag and in 3.18.7 it is set. With gtk+ having USE="X" enabled also your gtkmm should have USE="X" enabled, which should add those symbols you are missing. Weird...
lxmdb ~ # eix gtkmm [I] dev-cpp/gtkmm Available versions: (2.4) 2.24.4-r2 2.24.4-r3 (3.0) 3.16.0 3.18.0-r1 {(+)X aqua doc examples test wayland ABI_MIPS="n32 n64 o32" ABI_PPC="32 64" ABI_S390="32 64" ABI_X86="32 64 x32"} Installed versions: 2.24.4-r3(2.4)(23:35:33 23.02.2016)(-doc -examples -test ABI_MIPS="-n32 -n64 -o32" ABI_PPC="-32 -64" ABI_S390="-32 -64" ABI_X86="32 64 -x32") 3.18.0-r1(3.0)(23:59:45 23.02.2016)(X wayland -aqua -doc -examples -test ABI_MIPS="-n32 -n64 -o32" ABI_PPC="-32 -64" ABI_S390="-32 -64" ABI_X86="32 64 -x32") Homepage: http://www.gtkmm.org Description: C++ interface for GTK+ ... Looks to me as if (same as gtk+) v2.4 doesn't have use=X and v3.0 is installed with use=X. Just for the records. :-/
Could this be a issue with your ABI_X86 setting? I only have "64" enabled, you also have "32" enabled, and I had no issue with gnome-system-monitor. And what does the following command return? readelf -Ws /usr/lib64/libgtkmm-3.0.so | grep "Socket_Class.*wrap_new" For me it gives: 7710: 00000000003e1aa0 81 FUNC GLOBAL DEFAULT 11 _ZN3Gtk12Socket_Class8wrap_newEP8_GObject Which matches the mangled name your linker requests.
OUCH - sorry, I've been mixing my laptop and workstation installations' informations. Not having any problem on my workstation, with the reported use-Flags (+X, see "lxmdb# eix" outputs), will report again tomorrow or later this evening. I guess I'm having use=-X on my laptop... sorry, again!
lapmdbuerkle ~ # eix gtkmm [I] dev-cpp/gtkmm Available versions: (2.4) 2.24.4-r2 2.24.4-r3 (3.0) 3.16.0 3.18.0-r1 {(+)X aqua doc examples test wayland ABI_MIPS="n32 n64 o32" ABI_PPC="32 64" ABI_S390="32 64" ABI_X86="32 64 x32"} Installed versions: 2.24.4-r3(2.4)(04:52:17 24.02.2016)(-doc -examples -test ABI_MIPS="-n32 -n64 -o32" ABI_PPC="-32 -64" ABI_S390="-32 -64" ABI_X86="32 64 -x32") 3.18.0-r1(3.0)(23:51:04 29.02.2016)(wayland -X -aqua -doc -examples -test ABI_MIPS="-n32 -n64 -o32" ABI_PPC="-32 -64" ABI_S390="-32 -64" ABI_X86="32 64 -x32") Homepage: http://www.gtkmm.org Description: C++ interface for GTK+ ... lapmdbuerkle ~ # eix gtk+ [I] x11-libs/gtk+ Available versions: (1) 1.2.10-r13 (2) 2.24.28-r1 2.24.29 (3) 3.16.7 ~3.18.6 3.18.7 {X aqua broadway cloudprint colord cups debug examples +introspection nls test vim-syntax wayland xinerama ABI_MIPS="n32 n64 o32" ABI_PPC="32 64" ABI_S390="32 64" ABI_X86="32 64 x32" LINGUAS="az ca cs da de el es et eu fi fr ga gl hr hu it ja ko lt nl nn no pl pt pt_BR ro ru sk sl sr sv tr uk vi"} Installed versions: 2.24.29(2)(04:42:06 24.02.2016)(introspection vim-syntax xinerama -aqua -cups -debug -examples -test ABI_MIPS="-n32 -n64 -o32" ABI_PPC="-32 -64" ABI_S390="-32 -64" ABI_X86="32 64 -x32") 3.18.7(3)(04:56:05 24.02.2016)(X introspection vim-syntax wayland xinerama -aqua -broadway -cloudprint -colord -cups -debug -examples -test ABI_MIPS="-n32 -n64 -o32" ABI_PPC="-32 -64" ABI_S390="-32 -64" ABI_X86="32 64 -x32") Homepage: http://www.gtk.org/ Description: Gimp ToolKit + so YES, gtk+ was compiled with USE=X and gtkmm with USE=-X. Currently recompiling gtkmm.
gnome-system-monitor (use=-X) successfully merged. Closing as resolved/invalid.