blackberry / Boost

The Boost C++ Libraries
Boost Software License 1.0
224 stars 120 forks source link

Shared libraries reference dependencies with absolute paths #11

Open arrrow-pk opened 9 years ago

arrrow-pk commented 9 years ago

Not too sure of the scope of this problem but I am building on Mac OSX for QNX and I noticed that the generated shared object files referenced their dependencies with absolute paths. I.e. ntoarmv7-objdump on libboost_thread.so lists "bin.v2/libs/system/build/qcc/release/target-os-qnxnto/threading-multi/libboost_system.so.1.52.0" in the dependencies section irrespective of the hardcode-dll-path option. This caused problems when trying to deploy the lib to a device. On digging further it seems that HAVE_SONAME is missing from qcc.jam which is causing the -Wl flag to be excluded from the link command in the "actions link.dll bind LIBRARIES" section. Removing HAVE_SONAME solves the problem, i.e:

--- a/tools/build/v2/tools/qcc.jam +++ b/tools/build/v2/tools/qcc.jam @@ -232,5 +232,5 @@ rule link.dll ( targets * : sources * : properties * ) # actions link.dll bind LIBRARIES {

Hopefully this helps someone else save some time :)