Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 51076 - libgnomecanvasmm-2.60 will not build with gcc-3.4
Summary: libgnomecanvasmm-2.60 will not build with gcc-3.4
Status: RESOLVED UPSTREAM
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Unspecified (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Please assign to toolchain
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 48528
  Show dependency tree
 
Reported: 2004-05-14 11:41 UTC by Kathy Wills
Modified: 2004-05-31 20:43 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 Kathy Wills 2004-05-14 11:41:49 UTC
When I try to emerge libgnomecanvasmm I get several error messages and it does not build. See below: 

Reproducible: Always
Steps to Reproduce:
1."emerge libgnomvecanvasmm"
2.
3.

Actual Results:  
g++ -DHAVE_CONFIG_H -DG_LOG_DOMAIN=\"libgnomecanvasmm\" -I../../libgnomecanvas
-I../../libgnomecanvas -I/usr/include/gtkmm-2.4 -I/usr/lib/gtkmm-2.4/include
-I/usr/include/glibmm-2.4 -I/usr/lib/glibmm-2.4/include -I/usr/include/gdkmm-2.4
-I/usr/lib/gdkmm-2.4/include -I/usr/include/pangomm-1.4 -I/usr/include/atkmm-1.6
-I/usr/include/gtk-2.0 -I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/lib/gtk-2.0/include
-I/usr/include/pango-1.0 -I/usr/X11R6/include -I/usr/include/freetype2
-I/usr/include/freetype2/config -I/usr/include/atk-1.0
-I/usr/include/libgnomecanvas-2.0 -I/usr/include/libart-2.0 -march=pentium3
-mtune=i686 -O2 -funroll-loops -pipe -g -g -g -MT polygon.lo -MD -MP -MF
.deps/polygon.Tpo -c polygon.cc  -fPIC -DPIC -o .libs/polygon.o
In file included from line.cc:3:
../../libgnomecanvas/libgnomecanvasmm/line.h:374: error: extra qualification ignored
../../libgnomecanvas/libgnomecanvasmm/line.h:375: error: explicit specialization
of non-template `Glib::<anonymous class>'
../../libgnomecanvas/libgnomecanvasmm/line.h:375: error: an anonymous union
cannot have function members
../../libgnomecanvas/libgnomecanvasmm/line.h:378: error: abstract declarator
`Glib::<anonymous class>' used as declaration
../../libgnomecanvas/libgnomecanvasmm/line.h:378: error: namespace-scope
anonymous aggregates must be static
make[4]: *** [line.lo] Error 1
make[4]: *** Waiting for unfinished jobs....
In file included from ../../libgnomecanvas/libgnomecanvasmm/polygon.h:31,
                 from polygon.cc:3:
../../libgnomecanvas/libgnomecanvasmm/line.h:374: error: extra qualification ignored
../../libgnomecanvas/libgnomecanvasmm/line.h:375: error: explicit specialization
of non-template `Glib::<anonymous class>'
../../libgnomecanvas/libgnomecanvasmm/line.h:375: error: an anonymous union
cannot have function members
../../libgnomecanvas/libgnomecanvasmm/line.h:378: error: abstract declarator
`Glib::<anonymous class>' used as declaration
../../libgnomecanvas/libgnomecanvasmm/line.h:378: error: namespace-scope
anonymous aggregates must be static
make[4]: *** [polygon.lo] Error 1
make[4]: Leaving directory
`/var/tmp/portage/libgnomecanvasmm-2.6.0/work/libgnomecanvasmm-2.6.0/libgnomecanvas/libgnomecanvasmm'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory
`/var/tmp/portage/libgnomecanvasmm-2.6.0/work/libgnomecanvasmm-2.6.0/libgnomecanvas/libgnomecanvasmm'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory
`/var/tmp/portage/libgnomecanvasmm-2.6.0/work/libgnomecanvasmm-2.6.0/libgnomecanvas'
make[1]: *** [all] Error 2
make[1]: Leaving directory
`/var/tmp/portage/libgnomecanvasmm-2.6.0/work/libgnomecanvasmm-2.6.0/libgnomecanvas'
make: *** [all-recursive] Error 1
 
!!! ERROR: dev-cpp/libgnomecanvasmm-2.6.0 failed.
!!! Function gnome2_src_compile, Line 39, Exitcode 2
!!! compile failure

Expected Results:  
I expected it to build

 emerge info
Portage 2.0.50-r6 (default-x86-1.4, gcc-3.4.0, glibc-2.3.3_pre20040420-r0,
2.6.6-love1)
=================================================================
System uname: 2.6.6-love1 i686 Pentium III (Coppermine)
Gentoo Base System version 1.4.12
Autoconf: sys-devel/autoconf-2.59-r3
Automake: sys-devel/automake-1.8.3
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-march=pentium3 -mtune=i686 -O2 -funroll-loops -pipe"
CHOST="i686-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config
/usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config
/usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/
/usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/
/usr/share/texmf/xdvi/ /var/bind /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=pentium3 -mtune=i686 -O2 -funroll-loops -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache sandbox"
GENTOO_MIRRORS="ftp://ftp.ucsb.edu/pub/mirrors/linux/gentoo/
http://mirror.clarkson.edu/pub/distributions/gentoo/"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage /usr/local/bmg-main"
SYNC="rsync://rsync.us.gentoo.org/gentoo-portage"
USE="X alsa apm avi berkdb cdr crypt cups doc encode esd foomaticdb gdbm gif
gimp gimp-print gnome gtk gtk2 imlib java jpeg libg++ libwww mad mikmod motif
mozilla mpeg ncurses nls nptl oggvorbis opengl oss pam pdflib perl png python
quicktime readline samba sdl slang spell ssl svga tcltk tcpd tetex truetype x86
xml2 xmms xv zlib"
Comment 1 Kathy Wills 2004-05-17 01:11:22 UTC
There was an update to libgnomecavasmm-2.6.1. It compiled and installed just fine using gcc-3.4.
Comment 2 Anders Rune Jensen (RETIRED) gentoo-dev 2004-05-28 03:36:17 UTC
Bumping it will make this one compile, but libraries which depend on it, like libgnomeuimm, doesn't work anyone. The problems is related to the /usr/lib/libgnomecanvasmm-2.6.la file. The original library_names suggest that libgnomecanvasmm-2.6 is valid, but it's not because it's a directory. This will cause libraries using -llibgnomecanvasmm-2.6 to fail with some like can't open /usr/lib/libgnomecanvasmm-2.6. The problem seems to be that normally libraries have the .so at the end, but for some unkown reason to me, this ebuilds installs them without... The real fix would be to reverse this stripping of the .so of the libraries installed.

This simple patch fixes it for now, add the following to the end of the ebuild:

pkg_postinst() {
        #Fix broken .la
        cd /usr/lib/
        sed -e "s:library_names='libgnomecanvasmm-2.6.1.0.1 libgnomecanvasmm-2.6
.1 libgnomecanvasmm-2.6':library_names='libgnomecanvasmm-2.6.1.0.1 libgnomecanva
smm-2.6.1':g" \
             libgnomecanvasmm-2.6.la >  libgnomecanvasmm-2.6.la.hacked
        mv  libgnomecanvasmm-2.6.la.hacked  libgnomecanvasmm-2.6.la
}
Comment 3 Travis Tilley (RETIRED) gentoo-dev 2004-05-29 13:14:56 UTC
anders - can you file another bug about that so that it gets assigned to the right people?