Boost logo

Boost :

From: Daniel Lord (daniel_at_[hidden])
Date: 2007-11-09 14:36:00


I already tried the users list for Boost so I am cross-posting this.
When I perform an "out-of-the-box" build on my Macbook Pro (Intel dual core)
on Leopard (10.5) i get a motley collection of ppc and intel binaries that
are useless on my Intel-based system unless I want to use the dynamic
libraries only.

None of the libraries are universal binaries and only the
dynamic libraries are for the i386 architecture (see lipo output below).

$lipo -detailed_info libboost_regex*
input file libboost_regex-1_34_1.a is not a fat file
input file libboost_regex-1_34_1.dylib is not a fat file
input file libboost_regex-d-1_34_1.a is not a fat file
input file libboost_regex-d-1_34_1.dylib is not a fat file
input file libboost_regex-d.a is not a fat file
input file libboost_regex-mt-1_34_1.a is not a fat file
input file libboost_regex-mt-1_34_1.dylib is not a fat file
input file libboost_regex-mt-d-1_34_1.a is not a fat file
input file libboost_regex-mt-d-1_34_1.dylib is not a fat file
input file libboost_regex-mt-d.a is not a fat file
input file libboost_regex-mt.a is not a fat file
input file libboost_regex.a is not a fat file
Non-fat file: libboost_regex-1_34_1.a is architecture: ppc7400
Non-fat file: libboost_regex-1_34_1.dylib is architecture: i386
Non-fat file: libboost_regex-d-1_34_1.a is architecture: ppc7400
Non-fat file: libboost_regex-d-1_34_1.dylib is architecture: i386
Non-fat file: libboost_regex-d.a is architecture: ppc7400
Non-fat file: libboost_regex-mt-1_34_1.a is architecture: ppc7400
Non-fat file: libboost_regex-mt-1_34_1.dylib is architecture: i386
Non-fat file: libboost_regex-mt-d-1_34_1.a is architecture: ppc7400
Non-fat file: libboost_regex-mt-d-1_34_1.dylib is architecture: i386
Non-fat file: libboost_regex-mt-d.a is architecture: ppc7400
Non-fat file: libboost_regex-mt.a is architecture: ppc7400
Non-fat file: libboost_regex.a is architecture: ppc7400

I made the assumption that Boost would, as a default, build for the native
architecture it was building one since most of the other libraries I use
have been doing that for nearly 2 years. My mistake. To have it
build ppc on an intel platform--that was completely unexpected at this late
date. The jam user configuration is very simple gives not hint of why bjam
builds static ppc and dynamic intel binaries.
ugh. What a mystery to someone who knows little about bjam.

Searching the Boost site for the key word "universal binaries" found
nothing. Searching for "universal OS X" gave four generic uses of the word
"universal" but nothing of help.

Anybody have any experience building Boost
as a universal library set?

If not...

It's been over a year since I had to hack a build so I need to refresh my
memory. It my well be time to pour another cup of java, take the red pill,
and see how deep the rabbiit hole goes.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk