Boost logo

Boost-Build :

Subject: Re: [Boost-build] User environment ignored during testing
From: K.Noel Belcourt (kbelco_at_[hidden])
Date: 2008-12-15 14:58:18


On Dec 15, 2008, at 12:00 PM, Vladimir Prus wrote:

> K. Noel Belcourt wrote:
>
>> 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
> ....
>> ====== 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
>
>> 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
> ....
>
> So, the problem here is that /usr/lib added in front of user's
> DYLD_LIBRARY_PATH
> causes wrong version of whatever library icc used to be picked up?

This may also be a problem, but I'm pretty sure it's not this problem.

The issue here is that libimf has never been a system library (it's
not defined in /usr/lib), it's an Intel runtime library (and there's
only one version of it). I believe the issue is that somehow this

>> DYLD_LIBRARY_PATH=/usr/lib:$DYLD_LIBRARY_PATH
>> export DYLD_LIBRARY_PATH

does not expand correctly, when the test is run, to pick up the users
environment, hence the dyld error.

-- Noel


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