[MacPorts] #55857: boost @1.66.0_0 +universal has no i386 symbols
MacPorts
noreply at macports.org
Mon Mar 12 04:26:07 UTC 2018
#55857: boost @1.66.0_0 +universal has no i386 symbols
-----------------------+---------------------------
Reporter: devernay | Owner: ryandesign
Type: defect | Status: closed
Priority: Normal | Milestone:
Component: ports | Version:
Resolution: fixed | Keywords: i386 haspatch
Port: boost |
-----------------------+---------------------------
Comment (by ccorn):
Replying to [comment:21 ryandesign]:
> ccorn, could you be more specific about what change you needed to make?
Maybe attach a patch?
I mean [https://github.com/ccorn/macports-
ports/commit/f2867d6d55d057f4a36cfbedbc18d53a39f8682c this patch]. Since I
have made other patches which are not in ideal shape for contribution, I
am not exactly sure whether you actually need them.
> boost built fine on Darwin 9 PowerPC on our build server (but we don't
build universal).
Interesting. Here is my explanation attempt:
`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]\"`.
--
Ticket URL: <https://trac.macports.org/ticket/55857#comment:22>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list