Boost logo

Boost Users :

Subject: [Boost-users] [boost-build] Dynamic linking dependency propagation on mac os x
From: Tim Odenthal (Tim.Odenthal_at_[hidden])
Date: 2011-08-11 07:17:14


Dear list,

i'm trying to compile an existing project which compiles fine on Windows (where we link statically) and linux (where linking is default, i.e. dynamic) on Mac OS X (10.7). I'm essentially trying to use the same configuration as on linux, since darwin ~ gcc… The project makes use of (and therefore links to) several boost libraries including system, filesystem, serialization,…

We create several libraries which depend upon each other:
- lib1depends on serialization,filesystem,…
- lib2 depends on lib1
- lib3 depends on lib1 and lib2

-> here's the first problem: the (implicit) dependence on system, filesystem and serialization is not automatically resolved anymore. At least, the linker complains about missing symbols, since the "g++"-command-line doesn't include the libraries. I could solve that by adding those libraries to the requirements with <use>/boost/serialization, etc.

-lib4 depends on lib3

-> here's the real problem: again, the implicit dependence on (specifically) lib1 and the boost-libs is lost. I can use the same trick as before with the boost-libs, but whatever I do, I cannot make the "lib1.dylib" appear in the "g++" command-line. When I execute the command by hand - adding lib1.dylib - it executes fine & the linker does not complain.

How/why does that happen? My user-config.jam simply consists of:
using darwin : : : <compileflags>-DBOOST_WAVE_SUPPORT_THREADING=0 ;

What else do I need to configure differently on Mac OS X?

Thanks a lot in advance for any suggestions

Tim


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net