Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 6878 - emerge kdeaddons fails with CC/CXX = 3.1 but not if CC/CXX = unset
Summary: emerge kdeaddons fails with CC/CXX = 3.1 but not if CC/CXX = unset
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] GCC Porting (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Gentoo KDE team
URL:
Whiteboard:
Keywords:
: 4664 (view as bug list)
Depends on:
Blocks:
 
Reported: 2002-08-22 02:41 UTC by Ole Tange
Modified: 2003-02-04 19:42 UTC (History)
3 users (show)

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


Attachments
output frome emege kdeaddons with gcc-3.1 (kde,7.15 KB, text/plain)
2002-08-22 02:43 UTC, Ole Tange
Details
output of emerge kdeaddons with gcc 3.2 (kdeaddons-error,128.05 KB, text/plain)
2002-08-26 19:41 UTC, Mark
Details
testcase from ./configure (test.tgz,1.20 KB, application/octet-stream)
2002-08-27 07:31 UTC, Ole Tange
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ole Tange 2002-08-22 02:41:02 UTC
output from emerge kdeaddons attached.

This works:
# gcc --version
2.95.3
# grep -v # /etc/make.conf
GENTOO_MIRRORS="http://mirrors.sunsite.dk/gentoo
http://www.ibiblio.org/pub/Linux/distributions/gentoo"
USE="mmx sse apm pcmcia pnp trusted gphoto2 cups slp X opengl xv kde qt qtmt
arts evo sdl gd gif jpeg png tiff avi mpeg quicktime alsa dvd xmms oggvorbis
flash encode ipv6 pam ssl crypt imap ldap tcpd mozilla mozirc spell truetype xml
xml2 pdflib perl berkdb mysql postgres odbc innodb gdbm afs"
CHOST="i686-pc-linux-gnu"
CFLAGS="-mcpu=i686 -O2 -pipe"
CXXFLAGS="-mcpu=i686 -O2 -pipe"

This does not work:
# gcc --version
2.95.3
# grep -v # /etc/make.conf
GENTOO_MIRRORS="http://mirrors.sunsite.dk/gentoo
http://www.ibiblio.org/pub/Linux/distributions/gentoo"
USE="mmx sse apm pcmcia pnp trusted gphoto2 cups slp X opengl xv kde qt qtmt
arts evo sdl gd gif jpeg png tiff avi mpeg quicktime alsa dvd xmms oggvorbis
flash encode ipv6 pam ssl crypt imap ldap tcpd mozilla mozirc spell truetype xml
xml2 pdflib perl berkdb mysql postgres odbc innodb gdbm afs"
CHOST="i686-pc-linux-gnu"
CFLAGS="-mcpu=i686 -O2 -pipe"
CXXFLAGS="-mcpu=i686 -O2 -pipe"
CC=gcc-3.1
CXX=g++-3.1
GCJ=gcj-3.1
Comment 1 Ole Tange 2002-08-22 02:43:34 UTC
Created attachment 3299 [details]
output frome emege kdeaddons with gcc-3.1
Comment 2 Ole Tange 2002-08-22 03:08:12 UTC
The same goes for kdeartwork
Comment 3 Ole Tange 2002-08-22 04:59:08 UTC
it seems kvirc is affected by it too.
Comment 4 Mark 2002-08-26 19:41:53 UTC
Created attachment 3454 [details]
output of emerge kdeaddons with gcc 3.2
Comment 5 Matthew Kennedy (RETIRED) gentoo-dev 2002-08-26 23:13:47 UTC
mark, what use flags, cflags, chost, cxxflags do you have?
Comment 6 Matthew Kennedy (RETIRED) gentoo-dev 2002-08-26 23:17:23 UTC
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.
Comment 7 Mark 2002-08-27 06:38:21 UTC
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
Comment 8 Ole Tange 2002-08-27 07:28:06 UTC
*** Bug 4664 has been marked as a duplicate of this bug. ***
Comment 9 Ole Tange 2002-08-27 07:30:17 UTC
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'.  
  
Comment 10 Ole Tange 2002-08-27 07:31:23 UTC
Created attachment 3475 [details]
testcase from ./configure
Comment 11 Ole Tange 2002-08-27 07:49:49 UTC
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 
 
 
Comment 12 Ole Tange 2002-08-27 08:09:40 UTC
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. 
 
Comment 13 Mark 2002-08-27 08:28:49 UTC
It will not work, I've tried that already.
Comment 14 Ole Tange 2002-08-27 09:23:56 UTC
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? 
Comment 15 Mark 2002-08-27 19:33:17 UTC
I can confirm it *doesn't* work. 
Comment 16 Ole Tange 2002-08-28 04:36:21 UTC
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?
Comment 17 Ole Tange 2002-08-28 15:22:13 UTC
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. 
 
Comment 18 Mark 2002-08-29 06:33:49 UTC
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.
Comment 19 Mark 2002-08-29 10:32:27 UTC
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
Comment 20 Mark 2002-08-29 19:09:03 UTC
...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++/
Comment 21 Mark 2002-08-29 19:28:44 UTC
removed dependency with bug 7117 - it doesn't seem like this isn't the problem
for this bug.
Comment 22 Dan Armak (RETIRED) gentoo-dev 2002-09-15 05:08:46 UTC
http://www.gentoo.org/~carpaski/system_update/ - gcc upgrade instructions and 
helper scripts. HTH... 
Comment 23 Hannes Mehnert (RETIRED) gentoo-dev 2002-11-05 06:21:55 UTC
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? 
Comment 24 Mark 2002-11-05 07:47:37 UTC
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).
Comment 25 Hannes Mehnert (RETIRED) gentoo-dev 2002-11-05 07:56:48 UTC
ok, closing this bug.