Summary: | emerge kdeaddons fails with CC/CXX = 3.1 but not if CC/CXX = unset | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Ole Tange <bugs.gentoo.org> |
Component: | [OLD] GCC Porting | Assignee: | Gentoo KDE team <kde> |
Status: | RESOLVED INVALID | ||
Severity: | normal | CC: | mkennedy, rigo, zealot |
Priority: | High | ||
Version: | 1.3 | ||
Hardware: | x86 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
output frome emege kdeaddons with gcc-3.1
output of emerge kdeaddons with gcc 3.2 testcase from ./configure |
Description
Ole Tange
2002-08-22 02:41:02 UTC
Created attachment 3299 [details]
output frome emege kdeaddons with gcc-3.1
The same goes for kdeartwork it seems kvirc is affected by it too. Created attachment 3454 [details]
output of emerge kdeaddons with gcc 3.2
mark, what use flags, cflags, chost, cxxflags do you have? mark, also run this script: #!/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 and let me know which packages it reports. Hi Matt, USE="mmx 3dnow 3dfx apm X dga opengl xv qt qtmt arts sdl gif jpeg png tiff avi mpeg dvd oggvorbis mozctl truetype java perl gpm oss xfree kde xmms -gnome id3v2 -ppc mp3blaster mpg123 mpg321 mozilla expat openssh openssl xmms-volnorm xmms-xosd xmms-arts squid webmin gaim" CHOST="i686-pc-linux-gnu" CFLAGS="-march=athlon-xp -O3 -pipe -fforce-addr -fomit-frame-pointer" CXXFLAGS="-march=athlon-xp -O3 -pipe -fforce-addr -fomit-frame-pointer -Wno-deprecated" Note: nothing else fails to compile, so I think it's it's not my CFLAGS or CXXFLAGS. Your script doesn't give any output. Mark *** Bug 4664 has been marked as a duplicate of this bug. *** I have tried isolating the bug in ./configure. See attached tgz-file for a small example. The only change between working and non-working is '-3.2'. Created attachment 3475 [details]
testcase from ./configure
Using the files from test.tgz: This works: g++ -o conftest -I/usr/qt/3/include conftest.cc -L/usr/qt/3/lib -lqt-mt This does not: g++-3.2 -o conftest -I/usr/qt/3/include conftest.cc -L/usr/qt/3/lib -lqt-mt I am getting closer still. conftest.cc can be shortened to: #include <qcursor.h> #include <qstylefactory.h> int main() { (void)QStyleFactory::create(QString::null); QCursor c(Qt::WhatsThisCursor); return 0; } Works: # g++ -c -I/usr/qt/3/include conftest.cc -L/usr/qt/3/lib # g++ conftest.o -o conftest -lqt-mt -L/usr/qt/3/lib # g++-3.2 -c -I/usr/qt/3/include conftest.cc -L/usr/qt/3/lib Does not work: # g++-3.2 conftest.o -o conftest -lqt-mt -L/usr/qt/3/lib Somehow it seems the 3.2 linker will not look for qt-mt in /usr/qt/3/lib A wild guess: Problems with the ABI between difference gcc-version? Maybe it could be solved by recompiling qt with gcc-3.2. Will try that now. It will not work, I've tried that already. Phew this was a tough one: The problem was indeed that the Qt library was compiled with gcc-2.x. But to compile Qt with gcc-3.2 it is not enough just to alter make.conf (see bug 7117). You will have to make sure that /usr/bin/gcc and /usr/bin/g++ are in fact g??-3.2. So the workaround is: cd /usr/bin mv gcc gcc-2 mv g++ g++-2 mv gcc-3.2 gcc mv g++-3.2 g++ emerge qt emerge arts Can others confirm that this works? I can confirm it *doesn't* work. What error do you get? Something like: relocation error: /usr/lib/libkvilib.so.3: undefined symbol: __ti7QPixmap ? Did you remember to recompile all depending libraries (i.e. most KDE-stuff) with gcc-3.2? It seems you need to recompile _alot_. If A depends on B and C, and D depends on C, and B must be recompiled, then both A, C and D must also be recompiled. So while I _can_ get artsd to work, I break alot of other packages (Think of glibc being C in the above). Having some programs compiled with gcc-3.2 on the same machine as some programs compiled with gcc-2.x seems to be troublesome. If we upgrade everything to gcc-3.2 it would probably solve most problems. However, some non-free software may break. I re-emerged *everything* this night, with gcc 3.2-rc1, but still kdeaddons fails. The output is still the same as I have attached in here august 26th. Mark. 100% sure I found the error: it has something to do with a strange reference to something called libstdc++-libc6.2-2.so.3 !!! Mark ...and after a little research I found out that is a part of gcc. This is way out of my league but this is a good place to search / read: http://gcc.gnu.org/libstdc++/ removed dependency with bug 7117 - it doesn't seem like this isn't the problem for this bug. http://www.gentoo.org/~carpaski/system_update/ - gcc upgrade instructions and helper scripts. HTH... Mark: which gcc do you have installed? maybe you have multiple versions, please post the output of emerge -s gcc. All: Is this bug fixed for you? Hi Hannes, I have performed a fresh installation of Gentoo and the problem did not occur again. Thus as far as I am concerned, this bug may be closed (it went dead). ok, closing this bug. |