[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