Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 576052 - =dev-cpp/gtkmm-3.18.0-r1 with missing symbols, breaks gnome-system-monitor build
Summary: =dev-cpp/gtkmm-3.18.0-r1 with missing symbols, breaks gnome-system-monitor build
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] GCC Porting (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Linux Gnome Desktop Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-02-29 22:43 UTC by Mark Dominik Bürkle
Modified: 2016-03-10 11:44 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mark Dominik Bürkle 2016-02-29 22:43:11 UTC
/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...
Comment 1 Mark Dominik Bürkle 2016-02-29 23:26:53 UTC
rebuild didn't change anything, still broken symbols in the lib.
Comment 2 Mark Dominik Bürkle 2016-03-01 07:08:26 UTC
any hints on where to find these symbols, anyone?
Comment 3 Franz Trischberger 2016-03-01 08:06:52 UTC
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).
Comment 4 Pacho Ramos gentoo-dev 2016-03-04 09:14:36 UTC
bug-wranglers@gentoo.org
Comment 5 Gilles Dartiguelongue (RETIRED) gentoo-dev 2016-03-05 18:47:49 UTC
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.
Comment 6 Mark Dominik Bürkle 2016-03-07 15:39:19 UTC
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?
Comment 7 Franz Trischberger 2016-03-07 17:01:01 UTC
(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...
Comment 8 Mark Dominik Bürkle 2016-03-07 17:14:23 UTC
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. :-/
Comment 9 Franz Trischberger 2016-03-08 06:19:22 UTC
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.
Comment 10 Mark Dominik Bürkle 2016-03-09 19:05:46 UTC
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!
Comment 11 Mark Dominik Bürkle 2016-03-10 11:39:24 UTC
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.
Comment 12 Mark Dominik Bürkle 2016-03-10 11:44:13 UTC
gnome-system-monitor (use=-X) successfully merged.
Closing as resolved/invalid.