[MacPorts] #34603: ace: use the right compiler and -arch flags

MacPorts noreply at macports.org
Thu May 24 04:17:13 PDT 2012


#34603: ace: use the right compiler and -arch flags
-------------------------------------+--------------------------------------
 Reporter:  ryandesign@…             |       Owner:  lockhart@…            
     Type:  defect                   |      Status:  new                   
 Priority:  Normal                   |   Milestone:                        
Component:  ports                    |     Version:  2.1.1                 
 Keywords:                           |        Port:  ace                   
-------------------------------------+--------------------------------------

Comment(by lockhart@…):

 Replying to [comment:5 lockhart@…]:
 > Replying to [comment:4 ryandesign@…]:
 > > This build system of theirs isn't specifying any particular compiler
 though. It's just using "g++" and that's the problem...

 So to clarify: this is a problem even though that is
 WhatTheBuildersIntended?

 > ... One worry: when specifying +universal the port system constructs two
 build trees and I'm not sure what port will try to do with the orphan
 build tree for i386.

 Well, port is not actually orphaning that i386 build tree but is forcing a
 second build of the entire app in that tree too. This is
 NotWhatTheDevelopersIntended and makes a slow build twice as slow...

 Ooh, that did not go well; the port system apparently tries to slam both
 trees together and uses libtool to merge libraries, each of which already
 contains both i386 and x86_64 code. See log snippets below.

 Is there any way to get the port build system to keep its hands off the
 build and not try that goofy merge when doing a universal variant?
 TheOriginalDevelopersOfACE have the build figured out but port is forcing
 extra steps which are failing. Maybe another possibility is to get it to
 do two legit configuration steps so there really is just i386 object code
 in one tree and x86_64 code in another? I could get that to happen if I
 can do a separate reinplace substitution for each tree.

 {{{
 DEBUG: universal: merge: merging /opt/local/lib/libACE.dylib from
 /opt/local/var/macports/build/_Users_lockhart_ports_devel_ace/ace/work/destroot-i386
 and /opt/local/var/macports/build/_Users_lockhart_ports_devel_ace/ace/work
 /destroot-x86_64
 /opt/local/var/macports/build/_Users_lockhart_ports_devel_ace/ace/work/destroot-i386//opt/local/lib/libACE.dylib
 /opt/local/var/macports/build/_Users_lockhart_ports_devel_ace/ace/work
 /destroot-x86_64//opt/local/lib/libACE.dylib differ: char 23, line 1
 Command failed: /usr/bin/cmp
 "/opt/local/var/macports/build/_Users_lockhart_ports_devel_ace/ace/work/destroot-i386//opt/local/lib/libACE.dylib"
 "/opt/local/var/macports/build/_Users_lockhart_ports_devel_ace/ace/work
 /destroot-x86_64//opt/local/lib/libACE.dylib" && /bin/cp -v
 "/opt/local/var/macports/build/_Users_lockhart_ports_devel_ace/ace/work/destroot-i386//opt/local/lib/libACE.dylib"
 "/opt/local/var/macports/build/_Users_lockhart_ports_devel_ace/ace/work
 /destroot-intel//opt/local/lib"
 Exit code: 1
 /usr/bin/lipo:
 /opt/local/var/macports/build/_Users_lockhart_ports_devel_ace/ace/work/destroot-i386//opt/local/lib/libACE.dylib
 and /opt/local/var/macports/build/_Users_lockhart_ports_devel_ace/ace/work
 /destroot-x86_64//opt/local/lib/libACE.dylib have the same architectures
 (i386) and can't be in the same fat output file
 Command failed: /usr/bin/lipo -create
 "/opt/local/var/macports/build/_Users_lockhart_ports_devel_ace/ace/work/destroot-i386//opt/local/lib/libACE.dylib"
 "/opt/local/var/macports/build/_Users_lockhart_ports_devel_ace/ace/work
 /destroot-x86_64//opt/local/lib/libACE.dylib" -output
 "/opt/local/var/macports/build/_Users_lockhart_ports_devel_ace/ace/work
 /destroot-intel//opt/local/lib/libACE.dylib"
 Exit code: 1
 }}}

 and

 {{{
 /usr/bin/libtool: file:
 /opt/local/var/macports/build/_Users_lockhart_ports_devel_ace/ace/work/destroot-i386//opt/local/lib/libACE.dylib
 is a dynamic library, not added to the static library
 }}}

-- 
Ticket URL: <https://trac.macports.org/ticket/34603#comment:6>
MacPorts <http://www.macports.org/>
Ports system for Mac OS


More information about the macports-tickets mailing list