Opened 12 years ago

Closed 12 years ago

#34018 closed defect (fixed)

boost fails to build +universal i386,x86_64,ppc

Reported by: jeremyhu (Jeremy Huddleston Sequoia) Owned by: adfernandes (Andrew Fernandes)
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 (3)

comment:1 Changed 12 years ago by jeremyhu (Jeremy Huddleston Sequoia)

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 12 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Yep, that worked.

comment:3 Changed 12 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.