Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 5421 - qt-3.0.5 fails to compile with gcc-3.1-r6
Summary: qt-3.0.5 fails to compile with gcc-3.1-r6
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] GCC Porting (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Matthew Kennedy (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2002-07-22 16:49 UTC by Andrew Sayman
Modified: 2003-02-04 19:42 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 Andrew Sayman 2002-07-22 16:49:19 UTC
I get this error when trying to compile qt-3.0.5:

g++ -c -pipe -fno-exceptions -Wall -W -O2 -D_REENTRANT -fPIC -DQT_SHARED
-DQT_TABLET_SUPPORT -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_THREAD_SUPPORT
-DQT_NO_NIS -DQT_BUILTIN_GIF_READER=1 -DQT_NO_STYLE_AQUA -DQT_NO_STYLE_INTERLACE
-DQT_NO_STYLE_COMPACT -I/usr/X11R6/include/freetype2
-I/var/tmp/portage/qt-3.0.5/work/qt-x11-free-3.0.5/include -I/usr/X11R6/include
-I/usr/X11R6/include -I.moc/release-shared-mt/
-I/var/tmp/portage/qt-3.0.5/work/qt-x11-free-3.0.5/mkspecs/linux-g++ -o
.obj/release-shared-mt/qtoolbutton.o widgets/qtoolbutton.cpp
widgets/qtoolbutton.cpp: In member function `virtual void
QToolButton::mousePressEvent(QMouseEvent*)':
widgets/qtoolbutton.cpp:545: `LeftButton' undeclared (first use this function)
widgets/qtoolbutton.cpp:545: (Each undeclared identifier is reported only once
for each function it appears in.)
widgets/qtoolbutton.cpp: In member function `void QToolButton::popupTimerDone()':
widgets/qtoolbutton.cpp:848: `Vertical' undeclared (first use this function)
make[1]: *** [.obj/release-shared-mt/qtoolbutton.o] Error 1
make[1]: Leaving directory `/var/tmp/portage/qt-3.0.5/work/qt-x11-free-3.0.5/src'
make: *** [sub-src] Error 2

!!! ERROR: The ebuild did not complete successfully.
!!! Function src_compile, Line 66, Exitcode 2
!!! (no error message)

!!! emerge aborting on  /usr/portage/x11-libs/qt/qt-3.0.5.ebuild .
Comment 1 Matthew Kennedy (RETIRED) gentoo-dev 2002-07-24 22:29:40 UTC
I cannot reproduce this (tried it on two separate machines).

Can you post your use flags please?
Comment 2 Andrew Sayman 2002-07-25 01:48:31 UTC
From /etc/make.conf:
USE="-kde -arts gnome bonobo evo gtkhtml aalib tiff alsa oss ggi mozilla samba"

From /etc/make.profile/make.defaults:
USE="3dnow apm arts avi berkdb crypt cups encode gdbm gif gpm gtk imlib
ipv6 java jpeg kde gnome libg++ libwww mikmod mmx motif mpeg ncurses nls
oggvorbis opengl pam pdflib png python qt qtmt quicktime readline sdl
slang spell ssl svga tcpd truetype X xml2 xmms xv zlib"
Comment 3 Sloan Poe 2002-08-14 05:50:40 UTC
I'm actually using gcc 3.1.1-r1, but I figured this bug would work. I've tried
doing a emerge -e qt to recompile all dependencies, but still I get this error.
 My error message is this:

test -d ../../../bin/ || mkdir -p ../../../bin/
g++ -fno-exceptions -o ../../../bin/uic .obj/release-shared-mt/main.o
.obj/release-shared-mt/uic.o .obj/release-shared-mt/form.o
.obj/release-shared-mt/object.o .obj/release-shared-mt/subclassing.o
.obj/release-shared-mt/embed.o .obj/release-shared-mt/widgetdatabase.o
.obj/release-shared-mt/domtool.o .obj/release-shared-mt/parser.o  
-L/usr/lib/mysql 
-Wl,-rpath,/var/tmp/portage/qt-3.0.5/work/qt-x11-free-3.0.5/lib 
-L/var/tmp/portage/qt-3.0.5/work/qt-x11-free-3.0.5/lib  -L/usr/X11R6/lib 
-L/usr/X11R6/lib -ldl -lpthread -lz -lqt-mt -lpthread -lGLU -lGL -lXmu -lICE
-lSM -ldl -lXext -lX11 -lm -lXinerama -lXrender -lXft -lfreetype -lXi
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/../../../../i686-pc-linux-gnu/bin/ld:
warning: libstdc++-libc6.2-2.so.3, needed by /usr/X11R6/lib/libGLU.so, not found
(try using -rpath or -rpath-link)
/usr/X11R6/lib/libGLU.so: undefined reference to `__rtti_user'
/usr/X11R6/lib/libGLU.so: undefined reference to `__rtti_si'
/usr/X11R6/lib/libGLU.so: undefined reference to `__throw'
/usr/X11R6/lib/libGLU.so: undefined reference to `terminate(void)'
/usr/X11R6/lib/libGLU.so: undefined reference to `__builtin_vec_new'
/usr/X11R6/lib/libGLU.so: undefined reference to `__builtin_vec_delete'
/usr/X11R6/lib/libGLU.so: undefined reference to `__rtti_class'
/usr/X11R6/lib/libGLU.so: undefined reference to `__builtin_delete'
/usr/X11R6/lib/libGLU.so: undefined reference to `__terminate'
/usr/X11R6/lib/libGLU.so: undefined reference to `__builtin_new'
collect2: ld returned 1 exit status
make[3]: *** [../../../bin/uic] Error 1
make[3]: Leaving directory
`/var/tmp/portage/qt-3.0.5/work/qt-x11-free-3.0.5/tools/designer/uic'
make[2]: *** [sub-uic] Error 2
make[2]: Leaving directory
`/var/tmp/portage/qt-3.0.5/work/qt-x11-free-3.0.5/tools/designer'
make[1]: *** [sub-designer] Error 2
make[1]: Leaving directory `/var/tmp/portage/qt-3.0.5/work/qt-x11-free-3.0.5/tools'
make: *** [sub-tools] Error 2

!!! ERROR: The ebuild did not complete successfully.
!!! Function src_compile, Line 23, Exitcode 2
!!! (no error message)

!!! emerge aborting on  /usr/portage/x11-libs/qt/qt-3.0.5.ebuild .
Comment 4 Matthew Kennedy (RETIRED) gentoo-dev 2002-08-24 01:35:32 UTC
Hi. Looking at your linker output there, it appears you need to recompile your
xfree for the newer gcc. I'll close this bug now.. feel free to re-open it if
recompiling xfree didn't work.

btw, you can find a nice script spider posted to the mailing lists which
re-emerges everything depending on gcc.
Comment 5 Sloan Poe 2002-08-24 07:30:16 UTC
I did finally get this to work, but I had to upgrade to gcc 3.2.  What it
finally took, was actually unmerging everything mesa related since its masked
with gcc 3, then unmerging xfree (which broke portage and so I had to do some
trickery).  But then I recompiled X and QT would compile and not fail on libGLU.

Do you think you could be more specific about the script, I think I've looked
for it before, but haven't been able to find it. 

thanks
Comment 6 Matthew Kennedy (RETIRED) gentoo-dev 2002-08-25 02:46:42 UTC
this is the script i saw:

#!/bin/bash

for i in /usr/lib/*.so /usr/bin/* /usr/sbin/*
do
  ldd ${i} 2>&1 |grep "not found" - >/dev/null && qpkg -f -nc  -v $i ;
done |sort |uniq | while read PACK ; do emerge -p \=${PACK}; done

credit to spider of course. it works great
Comment 7 Sloan Poe 2002-08-25 08:38:27 UTC
That worked great thanks.  Its so simple too, wish I would have thought to do that..

thanks