Boost logo

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