Boost logo

Boost-Build :

Subject: [Boost-build] build for mac os x older targets
From: Søren (sd_at_[hidden])
Date: 2014-10-01 03:13:06

Hi All

I have problems building boost static and my app for older versions of

I'm running Maverick 10.9.x using the clang compiler included in Xcode:
Apple LLVM version 6.0 (clang-600.0.51) (based on LLVM 3.5svn).

I'm building boost 1.56 from tar.gz. Static link, only using
serialization. When I don't worry about the target, it works perfectly
and runs there successfully on Maverick.

Then I try to build for the previous version 10.8:
$ ./b2 link=static threading=multi runtime-link=static
in validate-value-string from module feature
error: "10.8" is not a known value of feature <macosx-version-min>
error: legal values:

I found a possible fix for that by adding this line to
feature macosx-version-min : : propagated optional ;
feature.extend macosx-version-min : 10.8 ; ## <-- added line

Boost then seemingly builds successfully but I have trouble linking from
my app:
clang++ main.cpp -v -o testapp -mmacosx-version-min=10.8
-I../boost_1_56_0 -L../boost_1_56_0/stage/lib -lboost_serialization

-demangle -dynamic -arch x86_64 -macosx_version_min 10.8.0 -o testapp
-lboost_serialization -lstdc++ -lSystem
Undefined symbols for architecture x86_64:
"boost::archive::basic_binary_oprimitive<boost::archive::binary_oarchive, char,
std::char_traits<char> >::init()", referenced from:
char, std::char_traits<char> >::init(unsigned int) in main-6804fc.o
ld: symbol(s) not found for architecture x86_64

Does anyone know about a fix for this?

Thanks in advance

Boost-Build list run by bdawes at, david.abrahams at, gregod at, cpdaniel at, john at