32/64 結合バージョンのビルドにも問題があり、最終的には 2 つを別々にビルドし (cxx フラグ "-arch i386" を 32 ビット ビルドに追加する必要がありました)、lipo を使用してそれらを結合することにしました。例えば:
./bjam link=static release install address-model=32 --prefix=$prefix_dir-x86" --python-buildid=2.7 python=2.7 --with-python cxxflags="-fPIC -Wfatal-errors -arch i386" -s NO_BZIP2=1 -s NO_ZLIB=1
./bjam link=static release install address-model=64 --prefix=$prefix_dir-x64" --python-buildid=2.7 python=2.7 --with-python cxxflags="-fPIC -Wfatal-errors" -s NO_BZIP2=1 -s NO_ZLIB=1
lipo $prefix_dir-x86/lib/libboost_python-2_7.a $prefix_dir-x64/lib/libboost_python-2_7.a -output $prefix_dir-universal/libboost_python-2_7.a -create
「-arch i386」を追加する前に、(32 ビットを要求したときに) 64 ビットのバイナリをまだ取得していたことを考えると、macos での 32 ビットのバイナリに対する bjam/b2 のビルド スクリプトに問題があると思われます。