Boost logo

Boost-Build :

From: David Abrahams (dave_at_[hidden])
Date: 2007-10-24 17:52:06


If you look at
http://beta.boost.org/development/tests/trunk/developer/output/Caleb%20Epstein%20SunOS-5-10-boost-bin-v2-libs-python-test-exec-test-gcc-4-1-2_sunos_i86pc-debug-debug-symbols-off-thrd-api-pthread_release.html
you'll see the following command line:

  "/openpkg/bin/g++" -L"/openpkg/lib"
  -L"/openpkg/lib/python2.5/config" -Wl,-R -Wl,"/openpkg/lib" -Wl,-R
  -Wl,"/openpkg/lib/python2.5/config" -o
  "/home/cae/boost-regression/svn-trunk/results/boost/bin.v2/libs/python/test/exec.test/gcc-4.1.2_sunos_i86pc/debug/debug-symbols-off/thrd-api-pthread/exec"
  -Wl,--start-group
  "/home/cae/boost-regression/svn-trunk/results/boost/bin.v2/libs/python/test/exec.test/gcc-4.1.2_sunos_i86pc/debug/debug-symbols-off/thrd-api-pthread/exec.o"
  "/home/cae/boost-regression/svn-trunk/results/boost/bin.v2/libs/python/build/gcc-4.1.2_sunos_i86pc/debug/debug-symbols-off/link-static/thrd-api-pthread/libboost_python-gcc41-d-1_35.a"
  -Wl,-Bstatic -lrt -ldl -Wl,-Bdynamic -lpython2.5 -lrt -ldl
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  -Wl,--end-group -Wl,--strip-all

On that platform there is no static librt, and the link fails.

The only substantial difference between the way the exec target above
is declared and a similar one that works, is that the exec target
explicitly asks for the static version of the Boost.Python library.
Here's the target that worked:

  "/openpkg/bin/g++" -L"/openpkg/lib"
  -L"/openpkg/lib/python2.5/config" -Wl,-R
  -Wl,"/home/cae/boost-regression/svn-trunk/results/boost/bin.v2/libs/python/build/gcc-4.1.2_sunos_i86pc/debug/debug-symbols-off/thrd-api-pthread"
  -Wl,-R -Wl,"/openpkg/lib" -Wl,-R -Wl,"/openpkg/lib/python2.5/config"
  -Wl,-rpath-link
  -Wl,"/home/cae/boost-regression/svn-trunk/results/boost/bin.v2/libs/python/build/gcc-4.1.2_sunos_i86pc/debug/debug-symbols-off/thrd-api-pthread"
  -o
  "/home/cae/boost-regression/svn-trunk/results/boost/bin.v2/libs/python/test/pointee.test/gcc-4.1.2_sunos_i86pc/debug/debug-symbols-off/thrd-api-pthread/pointee"
  -Wl,--start-group
  "/home/cae/boost-regression/svn-trunk/results/boost/bin.v2/libs/python/test/pointee.test/gcc-4.1.2_sunos_i86pc/debug/debug-symbols-off/thrd-api-pthread/pointee.o"
  "/home/cae/boost-regression/svn-trunk/results/boost/bin.v2/libs/python/build/gcc-4.1.2_sunos_i86pc/debug/debug-symbols-off/thrd-api-pthread/libboost_python-gcc41-d-1_35.so.1.35.0"
  -Wl,-Bstatic -Wl,-Bdynamic -lpython2.5 -lrt -ldl -Wl,--end-group
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  -Wl,--strip-all

I can probably suppress the error by not explicitly requesting a
static boost.python library for the exec target, but I think this
indicates a serious bug in Boost.Build.

Could someone take a look at this and try to determine why it's
happening and see if we can fix it in Boost.Build?

Thanks,

-- 
Dave Abrahams
Boost Consulting
http://www.boost-consulting.com

Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk