Boost logo

Boost-Build :

From: Rene Rivera (grafik.list_at_[hidden])
Date: 2003-12-31 12:38:58


I'm not an AIX expert... but it looks like it's a toolset problem. Looking up
the handy shared linking site:

http://www.fortran-2000.com/ArnaudRecipes/sharedlib.html

John Maddock wrote:
> I've tried to patch Boost.regex to build and run the dll tests correctly
> (the same issue is causing all the thread lib tests to fail on that platform
> as well BTW) - however I'm now seeing the following error:
>
> ld: 0706-006 Cannot find or open library file: -l boost_regex-xlc-mt-d-1_31
> ld:open(): A file or directory in the path name does not exist.
>
> xlC_r -qtwolink -g -o
> "../bin/boost/libs/regex/test/regex_regress_dll.test/vacpp/debug/threading-m
> ulti/regex_regress_dll" -L../bin/boost/libs/test/build/libboost_prg_exec_mo
> nitor.a/vacpp/debug/threading-multi -L../bin/boost/libs/regex/build/libboost
> _regex.so/vacpp/debug/threading-multi
> "../bin/boost/libs/regex/test/regex_regress_dll.test/vacpp/debug/threading-m
> ulti/parse.o"
> "../bin/boost/libs/regex/test/regex_regress_dll.test/vacpp/debug/threading-m
> ulti/regress.o"
> "../bin/boost/libs/regex/test/regex_regress_dll.test/vacpp/debug/threading-m
> ulti/tests.o"
> "../bin/boost/libs/test/build/libboost_prg_exec_monitor.a/vacpp/debug/thread
> ing-multi/libboost_prg_exec_monitor.a"
> "../bin/boost/libs/regex/build/libboost_regex.so/vacpp/debug/threading-multi
> /libboost_regex-xlc-mt-d-1_31.so"
> "../bin/boost/libs/test/build/libboost_prg_exec_monitor.a/vacpp/debug/thread
> ing-multi/libboost_prg_exec_monitor.a"
> "../bin/boost/libs/regex/build/libboost_regex.so/vacpp/debug/threading-multi
> /libboost_regex-xlc-mt-d-1_31.so" -lboost_regex-xlc-mt-d-1_31 -bdynamic
>
> This seems to be caused by the -lboost_regex-xlc-mt-d-1_31 part (which
> doesn't need to be there IMO), and also should the -bdynamic part be before
> this ?

I don't think the problem is the -l... but the -bdynamic. Most likely without
the -bdynamic before the -l.. it doesn't know to look for lib*.so, but looks
for lib*.a instead. Also it should not be putting the lib*.so as a regular
link file. The reason one wants the -l to work is so that the dynamic linking,
when the program is run, doesn't depend on the dir you are in.

> In other words this is a toolset problem, any AIX experts out there
> willing to experiment and tell us what we should be doing?

I'll just change the toolset, in HEAD, and see if it improves the situation..
for the regression tests.

-- 
-- Grafik - Don't Assume Anything
-- Redshift Software, Inc. - http://redshift-software.com
-- rrivera/acm.org - grafik/redshift-software.com - 102708583/icq
 

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