GNOME Bugzilla – Bug 531015
libgnomeuimm shoud dep on a newer libgnomecanvasmm
Last modified: 2008-08-04 12:01:14 UTC
Title sums it all. :) Here is the original Gentoo bug report : http://bugs.gentoo.org/215769 And here's a direct link to the build failure when libgnomeuimm-2.22.0 is built with libgnomecanvasmm-2.16.0 : http://bugs.gentoo.org/215769#c0 Of course, building with libgnomecanvas-2.22.0 fixes the issue. Thanks
Ping ?
What change in libgnomecanvas do you believe fixing this issue? The build error in that gentoo bug is rather strange: ../../libgnomeui/libgnomeuimm/.libs/libgnomeuimm-2.6.so: undefined reference to `non-virtual thunk to Gnome::Canvas::Canvas::~Canvas()' ../../libgnomeui/libgnomeuimm/.libs/libgnomeuimm-2.6.so: undefined reference to `non-virtual thunk to Gnome::Canvas::Canvas::~Canvas()' collect2: ld returned 1 exit status
Honestly, I have no idea. I've used gtkmm and friends a little bit but I've never really looked at the inner code. A quick google search reveals that this error happens when a lib is built with a certain optimization level and a depending one is built with another level (such as -O3). But in our cases, the bug seems to show up even if the optimisation level doesn't change. So your guess is as good as mine...
At the moment I tend to just consider this a side effect of some gentoo-specific strangeness, such as the use of strange compiler options or multiple compiler versions. If you can narrow it down to some specific libgnomecanvasmm change then I'll take it more seriously. But there's not much to choose from: http://svn.gnome.org/viewvc/gnomemm/libgnomecanvasmm/trunk/ChangeLog?view=markup
There's no sign that this is anything to do with libgoocanvasmm. Closing. You use gentoo to enjoy this kind of nonsense. So enjoy.
Sorry for not following up, it seems that C++ is much more sensitive to in-flight CXXFLAGS changes. All the issues were fixed by asking users to rebuild the concerned packages with one set of CXXFLAGS. So indeed, nothing needs to be fixed in libgnomecanvas. Thanks again for your time.