9 | | `Boost.Containers` uses allocation functions. Some of those, with functionality like `posix_memalign`, are not available in older OS such as Darwin 9, therefore `Boost.Containers` comes with a compatibility layer built from C sources, particularly `alloc_lib.c`. This is compiled using the configured C++ compiler with `-x c -fexceptions` and not the usual `<cxxflags>` as configured in `user-config.jam` but with `<cflags>` instead. So if you compile for a non-default architecture on Darwin 9 or earlier, such as PPC64, you should get architecture mismatches when linking. I got those until I patched the `user-config.jam` to include `<cflags>\"${configure.cflags} [get_canonical_archflags cc]\"`. |
| 9 | `Boost.Containers` uses allocation functions. Some of those, with functionality like `posix_memalign`, are not available in older OS such as Darwin 9, therefore `Boost.Containers` comes with a compatibility layer built from C sources, particularly `alloc_lib.c`. This is compiled using the configured compiler with `-x c -fexceptions` and not the usual `<cxxflags>` as configured in `user-config.jam` but with `<cflags>` instead. So if you compile for a non-default architecture on Darwin 9 or earlier, such as PPC64, you should get architecture mismatches when linking. I got those until I patched the `user-config.jam` to include `<cflags>\"${configure.cflags} [get_canonical_archflags cc]\"`. |