Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 215769 - dev-cpp/libgnomeuimm-2.20.2 fails to build "undefined reference to `non-virtual thunk to Gnome::Canvas::Canvas::~Canvas()'"
Summary: dev-cpp/libgnomeuimm-2.20.2 fails to build "undefined reference to `non-virtu...
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] GNOME (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: GNOME C++ Bindings Maintainers (OBSOLETE)
URL: http://bugzilla.gnome.org/show_bug.cg...
Whiteboard:
Keywords:
: 219201 229529 246423 (view as bug list)
Depends on:
Blocks:
 
Reported: 2008-04-01 20:36 UTC by Tiger!P
Modified: 2008-11-11 20:23 UTC (History)
6 users (show)

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


Attachments
emerge --info output (emerge_info.txt,3.89 KB, text/plain)
2008-04-01 20:37 UTC, Tiger!P
Details
emerge -pveDt gtkmm (emerge-pveDt_gtkmm.txt,58.69 KB, text/plain)
2008-05-26 04:55 UTC, Tiger!P
Details
emerge -pveDt libgnomeuimm (emerge-pveDt_libgnomeuimm.txt,72.63 KB, text/plain)
2008-05-27 04:53 UTC, Tiger!P
Details
New emerge --info that was used during rebuild (emerge--info.txt,3.94 KB, text/plain)
2008-05-27 04:57 UTC, Tiger!P
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Tiger!P 2008-04-01 20:36:56 UTC
/bin/sh ../../libtool --tag=CXX   --mode=link x86_64-pc-linux-gnu-g++  -march=athlon64 -O3 -pipe   -o druid dialog_druid.o druid-window.o main.o  ../../libgnomeui/libgnomeuimm/libgnomeuimm-2.6.la -pthread -lgnomeui-2 -lSM -lICE -lbonoboui-2 -lgnomemm-2.6 -lgnome-2 -lpopt -lbonobo-2 -lbonobo-activation -lgnomecanvasmm-2.6 -lgnomecanvas-2 -lart_lgpl_2 -lgconfmm-2.6 -lglademm-2.4 -lgtkmm-2.4 -lglade-2.0 -lgdkmm-2.4 -latkmm-1.6 -lpangomm-1.4 -lcairomm-1.0 -lgtk-x11-2.0 -lxml2 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lpango-1.0 -lcairo -lgnomevfsmm-2.6 -lglibmm-2.4 -lgnomevfs-2 -lsigc-2.0 -lgconf-2 -lgmodule-2.0 -ldl -lORBit-2 -lgthread-2.0 -lrt -lgobject-2.0 -lglib-2.0  
mkdir .libs
x86_64-pc-linux-gnu-g++ -march=athlon64 -O3 -pipe -o .libs/druid dialog_druid.o druid-window.o main.o -pthread  ../../libgnomeui/libgnomeuimm/.libs/libgnomeuimm-2.6.so -L/usr/lib64 /usr/lib64/libgnomeui-2.so /usr/lib64/libgnome-keyring.so /usr/lib64/libjpeg.so /usr/lib64/libbonoboui-2.so /usr/lib64/libSM.so /usr/lib64/libICE.so /usr/lib64/libgnomemm-2.6.so /usr/lib64/libgnome-2.so /usr/lib64/libesd.so /usr/lib64/libasound.so /usr/lib64/libaudiofile.so /usr/lib64/libpopt.so /usr/lib64/libbonobo-2.so /usr/lib64/libbonobo-activation.so /usr/lib64/libORBitCosNaming-2.so /usr/lib64/libgnomecanvasmm-2.6.so /usr/lib64/libgnomecanvas-2.so /usr/lib64/libgailutil.so /usr/lib64/libart_lgpl_2.so /usr/lib64/libgconfmm-2.6.so /usr/lib64/libglademm-2.4.so /usr/lib64/libgtkmm-2.4.so /usr/lib64/libglade-2.0.so /usr/lib64/libgdkmm-2.4.so /usr/lib64/libatkmm-1.6.so /usr/lib64/libpangomm-1.4.so /usr/lib64/libcairomm-1.0.so /usr/lib64/libgtk-x11-2.0.so /usr/lib64/libgdk-x11-2.0.so /usr/lib64/libatk-1.0.so /usr/lib64/libgdk_pixbuf-2.0.so /usr/lib64/libpangocairo-1.0.so /usr/lib64/libpangoft2-1.0.so /usr/lib64/libpango-1.0.so /usr/lib64/libcairo.so /usr/lib64/libfontconfig.so /usr/lib64/libfreetype.so /usr/lib64/libpng12.so /usr/lib64/libXrender.so /usr/lib64/libX11.so /usr/lib64/libXau.so /usr/lib64/libXdmcp.so /usr/lib64/libpixman-1.so /usr/lib64/libgnomevfsmm-2.6.so /usr/lib64/libglibmm-2.4.so /usr/lib64/libgnomevfs-2.so /usr/lib64/libxml2.so -lm /usr/lib64/libdbus-glib-1.so -lnsl /usr/lib64/libdbus-1.so /usr/lib64/libgnutls.so -lz /usr/lib64/libtasn1.so /usr/lib64/libgcrypt.so /usr/lib64/libgpg-error.so -lresolv -lutil /usr/lib64/libsigc-2.0.so /usr/lib64/libgconf-2.so /usr/lib64/libORBit-2.so /usr/lib64/libgmodule-2.0.so -ldl /usr/lib64/libgthread-2.0.so -lpthread -lrt /usr/lib64/libgobject-2.0.so /usr/lib64/libglib-2.0.so
../../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
make[2]: *** [druid] Error 1
make[2]: Leaving directory `/mnt/data1/tmp/portage/dev-cpp/libgnomeuimm-2.20.2/work/libgnomeuimm-2.20.2/examples/druid'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/mnt/data1/tmp/portage/dev-cpp/libgnomeuimm-2.20.2/work/libgnomeuimm-2.20.2/examples'
make: *** [all-recursive] Error 1
 * 
 * ERROR: dev-cpp/libgnomeuimm-2.20.2 failed.
 * Call stack:
 *               ebuild.sh, line   49:  Called src_compile
 *             environment, line 2624:  Called gnome2_src_compile
 *             environment, line 2004:  Called die
 * The specific snippet of code:
 *       emake || die "compile failure"
 *  The die message:
 *   compile failure
 * 
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at '/mnt/data1/tmp/portage/dev-cpp/libgnomeuimm-2.20.2/temp/build.log'.
 * The ebuild environment file is located at '/mnt/data1/tmp/portage/dev-cpp/libgnomeuimm-2.20.2/temp/environment'.
 * 


Reproducible: Always

Steps to Reproduce:
1. emerge --sync
2. emerge -av =dev-cpp/libgnomeuimm-2.20.2

Actual Results:  
The build fails with the message above

Expected Results:  
The build succeeds
Comment 1 Tiger!P 2008-04-01 20:37:28 UTC
Created attachment 148004 [details]
emerge --info output
Comment 2 Gilles Dartiguelongue (RETIRED) gentoo-dev 2008-04-01 23:29:34 UTC
although I don't think it's that, please note that gnome herd (and upstream) does not support optimization level above -O2. Please test with that first.
Comment 3 Gilles Dartiguelongue (RETIRED) gentoo-dev 2008-04-01 23:29:58 UTC
although do you have gnome 2.22 unmasked or not ?
Comment 4 Tiger!P 2008-04-02 04:56:33 UTC
I have tested the build with -O2, this fails the same way.
I do have gnome-2.22 masked (in /usr/portage/profiles/package.mask)
If this version of the package depends on gnome-2.22, it should be added to the "The Great GNOME 2.22 Mask (tm)"
Comment 5 Marek Sapota 2008-04-05 23:01:16 UTC
I have the same problem. I'm not using whole gnome, only some gnome applications and I have an ~x86 system.
Comment 6 Rémi Cardona (RETIRED) gentoo-dev 2008-04-12 15:29:53 UTC
Could you guys make sure you are using gcc 4.2 and not 4.1 ?

Use "gcc-config -l" to know what compiler you are using.

Thanks
Comment 7 Marek Sapota 2008-04-14 15:34:49 UTC
gcc-config -l
 [1] i686-pc-linux-gnu-4.2.3 *
Comment 8 Florian Schmaus gentoo-dev 2008-04-24 18:03:30 UTC
Same problem here with dev-cpp/libgnomeuimm-2.18.0, also on amd64
Comment 9 Arc Riley 2008-04-29 07:56:42 UTC
This bug is caused by an outdated libgnomecanvasmm and is still present as of 2.22.0.  The following line in libgnomeuimm-2.22.0.ebuild needs to be updated:

<         >=dev-cpp/libgnomecanvasmm-2.6
>         >=dev-cpp/libgnomecanvasmm-2.22.0

You can also manually fix the problem yourself by emerging libgnomecanvasmm and then trying libgnomeuimm again.
Comment 10 Markus Giese 2008-04-29 18:30:59 UTC
emerging libgnomecanvasmm helped, but the ebuild should get fixed, too.

thx
Comment 11 Markus Giese 2008-04-29 18:32:25 UTC
dont know if this is of any importance but i am still running an old gcc :

# gcc-config -l
 [1] x86_64-pc-linux-gnu-4.1.2 *
Comment 12 Arc Riley 2008-04-29 19:59:13 UTC
It would not appear that your GCC version is a contributing factor;

 [1] i686-pc-linux-gnu-4.2.3 *
Comment 13 Rémi Cardona (RETIRED) gentoo-dev 2008-04-30 13:29:01 UTC
*** Bug 219201 has been marked as a duplicate of this bug. ***
Comment 14 Rémi Cardona (RETIRED) gentoo-dev 2008-05-02 07:25:32 UTC
Fixed in portage and reported upstream. Thanks to all for your help.
Comment 15 mixman 2008-05-08 09:26:18 UTC
On Gentoo 2008.0 beta2 to fix this error do the following steps
echo "=dev-cpp/libgnomecanvasmm-2.20.0" >> /etc/portage/package.unmask
first needs to compile 
# emerge -av =dev-cpp/libgnomecanvasmm-2.20.0
then
# emerge -av libgnomeuimm
Comment 16 Rémi Cardona (RETIRED) gentoo-dev 2008-05-13 10:57:17 UTC
Hi folks,

To all who've had this problem, could you try rebuilding the whole gtkmm stack with simple and sane C{,XX}FLAGS and _one_ compiler? Upstream says it shouldn't be an issue.

I've removed the updated dependency. Thanks
Comment 17 Tiger!P 2008-05-25 17:58:05 UTC
(In reply to comment #16)
> To all who've had this problem, could you try rebuilding the whole gtkmm stack
> with simple and sane C{,XX}FLAGS and _one_ compiler? Upstream says it shouldn't
> be an issue.

I might be a fool, but when I do a `emerge -pvDt gtkmm` I don't see libgnomeuimm mentioned in the packages.
Do I use the right command to rebuild the whole gtkmm stack?
And is CFLAGS="-march=athlon64 -O2 -pipe" sane enough?
I want to do the rebuild, but I don't know how.

Comment 18 Rémi Cardona (RETIRED) gentoo-dev 2008-05-25 22:06:12 UTC
(In reply to comment #17)
> I might be a fool

Hehe, don't say that, we're not quite there yet ;)

> but when I do a `emerge -pvDt gtkmm` I don't see
> libgnomeuimm mentioned in the packages.
> Do I use the right command to rebuild the whole gtkmm stack?

You need to add "-e", otherwise you'll just be doing updates.

> And is CFLAGS="-march=athlon64 -O2 -pipe" sane enough?

Yep, that should be good. It's not so much the actual flags that matter (although wrong flags can be an issue) it's having all your packages built with those flags that really matters.

> I want to do the rebuild, but I don't know how.

My suggestion (before rebuilding everything you have on your system) would be to rebuild :
 - glibc
 - glib/gtk/libgnome*
 - libsigc++
 - glibmm/gtkmm/ and basically anything in dev-cpp/* you might have installed

Thanks
Comment 19 Tiger!P 2008-05-26 04:54:55 UTC
(In reply to comment #18)
> (In reply to comment #17)
> > but when I do a `emerge -pvDt gtkmm` I don't see
> > libgnomeuimm mentioned in the packages.
> > Do I use the right command to rebuild the whole gtkmm stack?
> 
> You need to add "-e", otherwise you'll just be doing updates.

The "-e" option does not result in libgnomeuimm to be added in the things that have to be (re)build.
I will attach the list that I get when I do the `emerge -pveDt gtkmm`
There is not even any gnome package in the list.

Comment 20 Tiger!P 2008-05-26 04:55:52 UTC
Created attachment 154315 [details]
emerge -pveDt gtkmm
Comment 21 Rémi Cardona (RETIRED) gentoo-dev 2008-05-26 05:33:50 UTC
(In reply to comment #19)
> The "-e" option does not result in libgnomeuimm to be added in the things that
> have to be (re)build.

You should be using "libgnomeuimm" instead of "gtkmm". Gtkmm is used by libgnomeuimm, just like gtk+ is used by libgnomeui.

That will pull you more gnome libraries into the mix.

If you want to rebuild everything on your system (it might not be useful to do that though) just run "emerge -e world -pv"

Thanks
Comment 22 Tiger!P 2008-05-27 04:53:27 UTC
Created attachment 154417 [details]
emerge -pveDt libgnomeuimm

This attachment is the result of the command that I used to rebuild everything. You can see that there are some updates done.
The whole rebuild process went fine.

Just to make sure, I will put my emerge --info output as an attachment as well.
Comment 23 Tiger!P 2008-05-27 04:57:42 UTC
Created attachment 154419 [details]
New emerge --info that was used during rebuild
Comment 24 Rémi Cardona (RETIRED) gentoo-dev 2008-05-27 06:49:39 UTC
Alright, so it's not really a bug. Thanks for rebuilding all those packages.
Comment 25 Rémi Cardona (RETIRED) gentoo-dev 2008-06-26 13:50:22 UTC
*** Bug 229529 has been marked as a duplicate of this bug. ***
Comment 26 Rémi Cardona (RETIRED) gentoo-dev 2008-11-11 20:23:02 UTC
*** Bug 246423 has been marked as a duplicate of this bug. ***