Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 39283

Summary: boost libraries fail to install
Product: Gentoo Linux Reporter: Jacob Braun <jwbraun>
Component: New packagesAssignee: George Shapovalov (RETIRED) <george>
Severity: normal CC: gwh, tisphie, zx
Priority: High    
Version: unspecified   
Hardware: x86   
OS: Linux   
Package list:
Runtime testing required: ---

Description Jacob Braun 2004-01-24 13:52:59 UTC
When emerging the boost libraries for c++ I get errors relating to src_compile and boost libraries fail to build.

Reproducible: Always
Steps to Reproduce:
1.emerge boost

Actual Results:  
FileClone libs/regex/build/bin-stage/
FileClone libs/regex/build/bin-stage/
FileClone libs/thread/build/bin-stage/
FileClone libs/thread/build/bin-stage/
for lack of
for lack of
...failed updating 66 targets...
...skipped 10 targets...
...updated 4 targets...

!!! ERROR: dev-libs/boost-1.30.2 failed.
!!! Function src_compile, Line 59, Exitcode 1
!!! Failed to build boost libraries.

Expected Results:  
The libraries should build correctly and be installed to the correct location.

I have tried this with my current see flags (see emerge info) and "default"
cflags of "-march=pentium4 -Os -pipe"

emerge info:
Portage 2.0.49-r21 (default-x86-1.4, gcc-3.2.3, glibc-2.3.2-r9, 2.6.1)
System uname: 2.6.1 i686 Intel(R) Pentium(R) 4 CPU 2.40GHz
Gentoo Base System version
CFLAGS="-march=pentium4 -Os -pipe -fomit-frame-pointer -frerun-loop-opt -fPIC
-ffast-math -funroll-loops -mfpmath=sse -fforce-addr -falign-functions=32
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config
/usr/kde/3/share/config /usr/share/config /usr/share/texmf/tex/generic/config/
/usr/share/texmf/tex/platex/config/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d"
CXXFLAGS="-march=pentium4 -Os -pipe -fomit-frame-pointer -frerun-loop-opt -fPIC
-ffast-math -funroll-loops -mfpmath=sse -fforce-addr -falign-functions=32
FEATURES="autoaddcvs ccache sandbox userpriv"
USE="X aalib acl acpi alsa apm avi berkdb bonobo cdr crypt cups dga doc dvd
encode esd evo fbcon foomaticdb gb gd gdbm ggi gif gpm gstreamer gtk gtk2
gtkhtml guile imap imlib java jpeg kerberos lcms ldap libg++ libwww mad maildir
mbox mikmod mmx motif moznoirc moznomail mpeg ncurses nls oggvorbis opengl oss
pam pda pdflib perl png python qt qtmt quicktime readline samba sdl slang slp
socks5 spell sse ssl svga tcltk tcpd tetex tiff truetype usb videos x86 xml xml2
xmms xv zlib
Comment 1 Mr. Bones. (RETIRED) gentoo-dev 2004-01-24 17:57:54 UTC
What version of python do you have?  Did you run /usr/sbin/python-updater
after upgrading to python-2.3.3 if that's the version?
Comment 2 Jacob Braun 2004-01-24 18:09:31 UTC
Python 2.3.3 is what I have, and yes I did run python-updater after the emerge.
Comment 3 SpanKY gentoo-dev 2004-01-24 19:10:06 UTC
chris: didnt you fix this broke-ass ebuild ? :)
Comment 4 Jacob Braun 2004-01-25 11:09:36 UTC
Well, I changed the ebuild to use python 2.2 instead of the 3.3 and it builds/installs successfully now.
Comment 5 Chris Aniszczyk (RETIRED) gentoo-dev 2004-01-25 11:21:44 UTC
It can work for 2.3 and 2.2 also. It's just that the ebuild is broken. I'll be posting an ebuild in a bit after I verify it works (compiling boost takes forever on my machines :()

The original ebuild never installed any libraries as the find statement was faulty. Plus, boost builds all these libraries and doesn't provide symlinks to them (ie, -> (or something like that)). icc was borked also :(

Personally I'd stricken boost from portage until the guys actually build a respectable installation process. I guess you can leave it in unstable after I post an updated ebuild.
Comment 6 George Shapovalov (RETIRED) gentoo-dev 2004-02-03 00:43:23 UTC
>Personally I'd stricken boost from portage until the guys actually build a >respectable installation process. 
Unfortunately this is not really an option, now that package has been in for a while with some versions in stable and some other packages depending on it..

>I guess you can leave it in unstable after I post an updated ebuild.
That would be package.mask'ed, so not really better - remember ~arch is "testing" not unstable ;).

Anyway, guys, I just submitted an update - 1.31_alpha2 incorporating a new cvs snapshot (have to do this, since 1.30 does not work with python-2.3 and 1.31 is not yet out) and src_install fixes suggested in #37850. This should install libraries now, but I would appreciate some testing. Oh, and if anybody feels like taking on it a bit more, you are wellcome to implement another enhancement suggested in that bug (to produce requested combination[s] of static/dynamic, single/multi-threaded, etc.) ;).

Finally, while I am on it, you will notice that I did not add metadata.xml. This is because the ebuild does not really belong to any of my categories, - I was just unfortunate enough to get it assigned to me some time ago and then it seemed to be coming back :). I would appreciate if somebody would assign it to appropriate herd, as I am not sure where to put it..

Comment 7 Graham Hudspith 2004-02-03 05:58:39 UTC
George, I've tried out your new ebuild and it does not quite work yet. Good
try though!

Everything builds okay, but the libraries are not found and installed. I know
this is not your fault, the ebuild lines for this part are unchanged from those
in earlier versions.

Problem #1: the libraries are not under "libs", they are actually under

Problem #2: The .a files are fine, but the .so files under bin/boost/libs
are actually symlinks to <same library name>.1.31.0 (e.g. ${PV}). You need
to do a something like:

find libs -type f -name \*.so.${PV} -exec {} \;

and then install the symlinks too, i.e.:

cd ${D}${DESTTREE}/lib
for i in *.so.${PV}; do ln -s $i `basename $i .${PV}`; done

Sorry, but this is where my portage skills dry up. Dunno how you ensure
that the only files in ${D}${DESTTREE}/lib acted on are just those from
the boost build (i.e. we dont create symlinks for just any old file that
has a .1.31.0 suffix!).

I agree, whoever came up with the braindead build scheme used by Boost
needs a good kicking ...
Comment 8 Graham Hudspith 2004-02-03 06:03:37 UTC
Sigh! Must re-read my own comments in future before hitting the Commit button.

That should read:

find bin/boost/libs -type f -name \*.so.${PV} -exec {} \;

Also, just re-read Chris' last comment (#5) and realised that he had already
found the problem with the libraries installation and the shared-library
symlinks ...
Comment 9 Graham Hudspith 2004-02-03 10:42:36 UTC
Previous comments applied to boost-1.31.0_alpha1.ebuild. Now tried the later
boost-1.31.0_alpha2.ebuild (as mentioned in George's #6 comment!). This installs
the libraries correctly, apart from the symlinks.

Getting closer ...
Comment 10 Chris Aniszczyk (RETIRED) gentoo-dev 2004-02-03 11:13:20 UTC
Double check the installed libraries whether or not the python lib's were installed... 

find /usr/lib/libboost* -type f 

and see if the python libs come up for you ;P
Comment 11 Graham Hudspith 2004-02-03 11:48:25 UTC
Yep :


Haven't tried out one of these python libs yet, but the boost thread libraries
seem to work. At least, the following example does:
Comment 12 Mark Saward 2004-02-09 04:13:00 UTC
I need boost 1.30.2 installed, and I have both python2.2 and python2.3 installed.  When I try to emerge boost, I start the emerge, then I changed the symlink for python to python2.2 instead of python2.3.  Once the emerge is going and boost is using python2.2, I change it back.
However, when it gets to the end, I get this:

...failed updating 6 targets...
...updated 539 targets...
 * Don't worry if there are a few (probably 6) failures above.
 * Some targets merely need to be combined.  Here goes:
...found 3407 targets...
...updating 6 targets...
FileClone libs/python/build/bin-stage/
FileClone libs/python/build/bin-stage/
FileClone libs/regex/build/bin-stage/
FileClone libs/regex/build/bin-stage/
FileClone libs/thread/build/bin-stage/
FileClone libs/thread/build/bin-stage/
...updated 6 targets...
--------------------------- ACCESS VIOLATION SUMMARY ---------------------------
LOG FILE = "/tmp/sandbox-dev-libs_-_boost-1.30.2-5181.log"

unlink:    /usr/lib/portage/pym/portage.pyc
open_wr:   /usr/lib/portage/pym/portage.pyc
unlink:    /usr/lib/portage/pym/xpak.pyc
open_wr:   /usr/lib/portage/pym/xpak.pyc
unlink:    /usr/lib/portage/pym/cvstree.pyc
open_wr:   /usr/lib/portage/pym/cvstree.pyc
unlink:    /usr/lib/portage/pym/getbinpkg.pyc
open_wr:   /usr/lib/portage/pym/getbinpkg.pyc
unlink:    /usr/lib/portage/pym/output.pyc
open_wr:   /usr/lib/portage/pym/output.pyc
Comment 13 George Shapovalov (RETIRED) gentoo-dev 2004-02-13 11:40:24 UTC
Hi guys.

Please take a look at the 1.31.0_alpha2 (do not touch the -r1 yet though please). It should have fixed the python related problem and a few more. Now only the correct symlinks are left. For that matter you moight want to look at #37850 as well..

Technically this _alpha2 is a cvs snapshot, so it souldn't (ever) become stable, but in this case I am afraid there is not much choice, as the latest release  ceased to work with the python update. Therefore I would appreciate as much testing as possible (including actual usage). So far I have 2 positives, if I can get just a few more I will probably have to unmask the _alpha2..

Comment 14 George Shapovalov (RETIRED) gentoo-dev 2004-02-13 17:31:26 UTC
The 1.31_alpha2-r1 has been completed and unmasked, please test.

Comment 15 Graham Hudspith 2004-02-14 05:40:46 UTC
Tried the latest/greatest boost-1.31.0_alpha2-r1.ebuild. Everything seems to
build and install correctly, including the symlinks. Tried my Boost Threads
test program and all works well.

Good job!
Comment 16 George Shapovalov (RETIRED) gentoo-dev 2004-03-16 23:49:50 UTC
1.31.0 (release) finally out. The ebuild is in (for a while now) and is modev top stable. Closing this bug..