Ticket #34018 (closed defect: fixed)
boost fails to build +universal i386,x86_64,ppc
| Reported by: | jeremyhu@… | Owned by: | adfernandes@… |
|---|---|---|---|
| Priority: | Normal | Milestone: | |
| Component: | ports | Version: | 2.0.4 |
| Keywords: | universal muniversal merger_dont_diff | Cc: | |
| Port: | boost |
Description
If you have universal_archs set to i386 x86_64 ppc, boost will try to build for ppc64 which will cause it to fail to link due to missing dependencies.
It seems this is a deficiency in boost's logic. It has a switch for ppc/intel/both and a switch for 32/64/both, so you can't represent this configuration accurately with those options.
Change History
Note: See
TracTickets for help on using
tickets.


This patch looks like it should do the trick, I'm testing it now...
Index: Portfile =================================================================== --- Portfile (revision 91896) +++ Portfile (working copy) @@ -281,6 +281,11 @@ if {[lsearch ${universal_archs} *64] != -1} { if {[lsearch ${universal_archs} i386] != -1 || [lsearch ${universal_archs} ppc] != -1} { build.args-append address-model=32_64 + if {[lsearch ${universal_archs} ppc64] == -1} { + post-patch { + reinplace "/local support-ppc64 =/s/= 1/= /" ${worksrcpath}/tools/build/v2/tools/darwin.jam + } + } } else { build.args-append address-model=64 }