![]() |
Boost-Build : |
Subject: Re: [Boost-build] User environment ignored during testing
From: Michael Jackson (mike.jackson_at_[hidden])
Date: 2008-12-15 13:25:03
If i remember correctly if you use --static-intel flag (or something
like that) then icc will statically link its own libraries into your
code instead of using the dylibs. That would get around the
environment issues.
--- Mike Jackson www.bluequartz.net On Dec 15, 2008, at 12:45 PM, K. Noel Belcourt wrote: > Hi, > > It appears that the users environment is being ignored when running > unit tests. For example, on Darwin with intel-11.0, this test fails > because test_segments can't find the intel runtime libraries. > > testing.capture-output ../bin.v2/libs/mesh/test/test_segments.test/ > intel-darwin-11.0/debug/test_segments.run > > DYLD_LIBRARY_PATH=/usr/lib:$DYLD_LIBRARY_PATH > export DYLD_LIBRARY_PATH > > "../bin.v2/libs/mesh/test/test_segments.test/intel-darwin-11.0/ > debug/test_segments" > "../bin.v2/libs/mesh/test/ > test_segments.test/intel-darwin-11.0/debug/test_segments.output" 2>&1 > status=$? > echo >> "../bin.v2/libs/mesh/test/test_segments.test/intel- > darwin-11.0/debug/test_segments.output" > echo EXIT STATUS: $status >> "../bin.v2/libs/mesh/test/ > test_segments.test/intel-darwin-11.0/debug/test_segments.output" > if test $status -eq 0 ; then > cp "../bin.v2/libs/mesh/test/test_segments.test/intel- > darwin-11.0/debug/test_segments.output" "../bin.v2/libs/mesh/test/ > test_segments.test/intel-darwin-11.0/debug/test_segments.run" > fi > verbose=0 > if test $status -ne 0 ; then > verbose=1 > fi > if test $verbose -eq 1 ; then > echo ====== BEGIN OUTPUT ====== > cat "../bin.v2/libs/mesh/test/test_segments.test/intel- > darwin-11.0/debug/test_segments.output" > echo ====== END OUTPUT ====== > fi > exit $status > > ====== BEGIN OUTPUT ====== > dyld: Library not loaded: libimf.dylib > Referenced from: /Users/kbelco/boost/status/../bin.v2/libs/mesh/ > test/test_segments.test/intel-darwin-11.0/debug/test_segments > Reason: image not found > > EXIT STATUS: 133 > ====== END OUTPUT ====== > ...failed updating 5 targets... > > > But my environment has the correct DYLD_LIBRARY_PATH set: > > > s896822:~/boost kbelco$ env | grep DYLD > DYLD_LIBRARY_PATH=/opt/intel/Compiler/11.0/056/lib > > > and the executable works if I just run it from the command line. > > > s896822:~/boost kbelco$ bin.v2/libs/mesh/test/test_segments.test/ > intel-darwin-11.0/debug/test_segments > s896822:~/boost kbelco$ > > Is there something I need to do to get Boost.build to use the users > environment when running tests? > > -- Noel > > > _______________________________________________ > Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build
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