Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 34232 - boost fails to compile on amd64, needs fPIC and ebuild fix
Summary: boost fails to compile on amd64, needs fPIC and ebuild fix
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: AMD64 Project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-11-23 17:55 UTC by Bryan Silverthorn
Modified: 2004-01-06 08:37 UTC (History)
0 users

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 Bryan Silverthorn 2003-11-23 17:55:45 UTC
The goal is to get boost working on amd64. With the ebuild hacked to accept ~amd64, dev-libs/boost-1.30.2 fails to build on amd64  with the following error:

/usr/sbin/ebuild.sh: line 46: ./tools/build/jam_src/bin.linuxamd64/bjam: No such file or directory
 * Don't worry if there are a few (probably 6) failures above.
 * Some targets merely need to be combined.  Here goes:
/usr/sbin/ebuild.sh: line 56: ./tools/build/jam_src/bin.linuxamd64/bjam: No such file or directory
 
!!! ERROR: dev-libs/boost-1.30.2 failed.
!!! Function src_compile, Line 59, Exitcode 127
!!! Failed to build boost libraries.


The obvious fix (related to http://bugs.gentoo.org/show_bug.cgi?id=13754) is to change the patch in the ebuild to use bin.linux instead of bin.linux${ARCH} for amd64. When this is done (just took out the three instances of ${ARCH}), the build fails much later with:

gcc-Link-action libs/test/build/bin/libboost_unit_test_framework.so/gcc/debug/runtime-link-static/shared-linkable-true/threading-multi/libboost_unit_test_framework.so
/usr/lib/gcc-lib/x86_64-pc-linux-gnu/3.3.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc-lib/x86_64-pc-linux-gnu/3.3.1/crtbeginT.o: relocation R_X86_64_32 can not be used when making a shared object; recompile with -fPIC
/usr/lib/gcc-lib/x86_64-pc-linux-gnu/3.3.1/crtbeginT.o: could not read symbols: Bad value
collect2: ld returned 1 exit status
Chmod1 libs/test/build/bin/libboost_unit_test_framework.so/gcc/debug/runtime-link-static/shared-linkable-true/threading-multi/libboost_unit_test_framework.so
chmod: failed to get attributes of `libs/test/build/bin/libboost_unit_test_framework.so/gcc/debug/runtime-link-static/shared-linkable-true/threading-multi/libboost_unit_test_framework.so': No such file or directory
 
    chmod  755  libs/test/build/bin/libboost_unit_test_framework.so/gcc/debug/runtime-link-static/shared-linkable-true/threading-multi/libboost_unit_test_framework.so
 
...failed Chmod1 libs/test/build/bin/libboost_unit_test_framework.so/gcc/debug/runtime-link-static/shared-linkable-true/threading-multi/libboost_unit_test_framework.so...
...removing libs/test/build/bin/libboost_unit_test_framework.so/gcc/debug/runtime-link-static/shared-linkable-true/threading-multi/libboost_unit_test_framework.so
...failed updating 6 targets...
...updated 6 targets...
 
!!! ERROR: dev-libs/boost-1.30.2 failed.
!!! Function src_compile, Line 59, Exitcode 1
!!! Failed to build boost libraries.


So, boost needs to be compiled with -fPIC on amd64, and the ebuild needs to be modified to not use bin.linux${ARCH} on amd64, or to add a bin.linuxamd64 directory.
Comment 1 Daniel Ahlberg (RETIRED) gentoo-dev 2004-01-06 08:37:10 UTC
In CVS, thanks!