Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 142201 - failed to link QT due to pthread versioned symbols in system upgrade
Summary: failed to link QT due to pthread versioned symbols in system upgrade
Status: RESOLVED WORKSFORME
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] KDE (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Gentoo KDE team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-07-30 10:53 UTC by Henri Magnin
Modified: 2006-11-14 10:29 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 Henri Magnin 2006-07-30 10:53:28 UTC
I have been trying to install a new 2006.0 in a chrooted environment, starting from a stage3 tarball downloaded Fri Aug 28th.
The Portage tree comes with a default profile with the 'posix' USE variable set by default.

When trying to emerge KDE, the linkage loader fails when building qca-1.0-r2.
WHY ?
The compiler and the GLIBC delivered with the STAGE3, DO NO EXPORT THE POSIX THREAD FUNCTIONS AS EXPECTED BY LIBQT-MT (i.e. __pthread_register_cancel@GLIBC_2.3.3 and __pthread_unregister_cancel@GLIBC_2.3.3), see below

---ooOoo--- (BEGIN /var/tmp/portage/qca-1.0-r2/work/qca-1.0/conf.log)

g++ -c -pipe -Wall -W -march=i686 -O2 -pipe -D_REENTRANT 
-DX11_INC='"/usr/X11R6/include"' -DX11_LIBDIR='"/usr/X11R6/lib"'
-DX11_LIB='"-lXext -lX11 -lm"' -DCC='"gcc"' -DQT_NO_DEBUG -DQT_THREAD_SUPPORT
-DQT_SHARED -DQT_TABLET_SUPPORT -I/usr/qt/3/mkspecs/linux-g++ -I.
-I/usr/qt/3/include -I/usr/include -o conf.o conf.cpp
g++  -o conf conf.o    -L/usr/qt/3/lib -L/usr/X11R6/lib -lqt-mt -lXext -lX11
-lm -lpthread
/usr/qt/3/lib/libqt-mt.so: undefined reference to
`__pthread_register_cancel@GLIBC_2.3.3'
/usr/qt/3/lib/libqt-mt.so: undefined reference to
`__pthread_unregister_cancel@GLIBC_2.3.3'
collect2: ld returned 1 exit status
make: *** [conf] Error 1

---ooOoo--- (END /var/tmp/portage/qca-1.0-r2/work/qca-1.0/conf.log)

The fix FOR ME was to add '-posix' to my /etc/make.conf USE variable and 'emerge --newuse qt'.
=> After 2:30 hours compilation, I finally could emerge KDE successfully.
But in such a case, what is the benefit to advertise for installing through stage3 ???
If the delivered binaries have not been compiled with some settings which comply with portage, advertise for stage1, it is more time consuming, but works !

The fix FOR 2006.0 is to ensure that the stage3 complies with default USE options as delivered in Portage, whatever your choices are... If not, any newbie to your distribution will give up immediately.

Did you test the 2006.0 (at least a minimum) ??? The install CD and live CD don't allow to use any other keymap as 'us'... The quality of your 2006.0 deliveries are far below that of 2004.x and 2005.x !

- HMag -
Comment 1 Chris Gianelloni (RETIRED) gentoo-dev 2006-08-01 12:46:48 UTC
Umm... compilation problems have nothing to do with the release media.

As for your keymap bug, it's been reported.
Comment 2 Caleb Tennis (RETIRED) gentoo-dev 2006-08-01 13:09:32 UTC
So you started with a stage3...

Then you immediately emerge KDE, or Qt, or GLIBC?  What's the order of what you did?
Comment 3 Caleb Tennis (RETIRED) gentoo-dev 2006-08-01 13:12:19 UTC
Seems to be similar to the glibc bug from 67166
Comment 4 Diego Elio Pettenò (RETIRED) gentoo-dev 2006-08-01 13:21:42 UTC
hm? posix useflag is for dev-lang/php for what I can see from http://gentoo-portage.com/Search?search=&use=posix
Comment 5 Henri Magnin 2006-08-03 11:36:16 UTC
(In reply to comment #4)
> hm? posix useflag is for dev-lang/php for what I can see from
> http://gentoo-portage.com/Search?search=&use=posix
> 

(In reply to comment #2)
> So you started with a stage3...
> 
> Then you immediately emerge KDE, or Qt, or GLIBC?  What's the order of what you
> did?
> 

...

- I took the Portage snapshot and the Stage3
- I immediately expected a recent version of Portage (after, of course some 
config under /etc) making an emerge --sync (very long)
- then, emerge --update world seems to be a good practice before having too many things installed, thus avoiding many re-compilations
- then emerge KDE, and it fails at emerge because of QCA
- then, I searched looking in the /var/tmp/portage/work/qca-1.0-r2 subdir and 
in the 'conf.log' or 'config.log' file ... determined that probably the 
unfound references are related to threads config and guess that it is 
probably due to 'posix'. (look my comments in bug ID 85750)
- changed /etc/make.conf (USE '-posix'), and emerge'd --newuse qca
... ok, compilation finally successfull
- finally, got a message (and also some comments in the bugzilla), that 
probably Portage should be updated. OK : emerge --update portage

...BOOM : Perl does not compile - maybe because it REQUIRES 'posix' ?

Let me know if I'm definitely fool ;-)
Comment 6 Henri Magnin 2006-08-03 11:38:02 UTC
(In reply to comment #4)
> hm? posix useflag is for dev-lang/php for what I can see from
> http://gentoo-portage.com/Search?search=&use=posix
> 

(In reply to comment #2)
> So you started with a stage3...
> 
> Then you immediately emerge KDE, or Qt, or GLIBC?  What's the order of what you
> did?
> 

...

- I took the Portage snapshot and the Stage3
- I immediately expected a recent version of Portage (after, of course some 
config under /etc) making an emerge --sync (very long)
- then, emerge --update world seems to be a good practice before having too many things installed, thus avoiding many re-compilations
- then emerge KDE, and it fails at emerge because of QCA
- then, I searched looking in the /var/tmp/portage/work/qca-1.0-r2 subdir and 
in the 'conf.log' or 'config.log' file ... determined that probably the 
unfound references are related to threads config and guess that it is 
probably due to 'posix'. (look my comments in bug ID 85750)
- changed /etc/make.conf (USE '-posix'), and emerge'd --newuse qca
... ok, compilation finally successfull
- finally, got a message (and also some comments in the bugzilla), that 
probably Portage should be updated. OK : emerge --update portage

...BOOM : Perl does not compile - maybe because it REQUIRES 'posix' ?

Let me know if I'm definitely fool ;-)
(In reply to comment #4)
> hm? posix useflag is for dev-lang/php for what I can see from
> http://gentoo-portage.com/Search?search=&use=posix
> 

=> See my reply to Comment #2
Comment 7 SpanKY gentoo-dev 2006-09-24 04:40:11 UTC
has nothing to do with USE=posic and gcc/glibc
Comment 8 Caleb Tennis (RETIRED) gentoo-dev 2006-11-14 10:29:27 UTC
I can't reproduce.  I assume this has since trickled off of your system through various emerges...?