New Ticket     Tickets     Wiki     Browse Source     Timeline     Roadmap     Ticket Reports     Search

Ticket #34018 (closed defect: fixed)

Opened 14 months ago

Last modified 13 months ago

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

comment:1 Changed 14 months ago by jeremyhu@…

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
         }

comment:2 Changed 14 months ago by jeremyhu@…

Yep, that worked.

comment:3 Changed 13 months ago by jeremyhu@…

  • Status changed from new to closed
  • Resolution set to fixed
Note: See TracTickets for help on using tickets.