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

MacPorts noreply at macports.org
Wed May 23 19:03:47 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 ryandesign@…):

 This build system of theirs isn't specifying any particular compiler
 though. It's just using "g++" and that's the problem. Here's an example of
 what ace is running:

 {{{
 g++ -g -m64 -DACE_HAS_CUSTOM_EXPORT_MACROS=0
 -I/opt/local/var/macports/build/_Users_rschmidt_macports_dports_devel_ace/ace/work/ACE_wrappers
 -D__ACE_INLINE__ -I.. -DACE_BUILD_DLL  -c  -o .shobj/Local_Name_Space.o
 Local_Name_Space.cpp
 }}}

 "g++" could be anything: by default, it's g++-4.0 on Tiger and Leopard,
 g++-4.2 on Snow Leopard with Xcode 3, and llvm-g++-4.2 with Xcode 4, but
 the user could have set it to any other value by using "sudo port select
 gcc". Read the wiki page UsingTheRightCompiler to understand the problem
 further, and see the section at the end of it for a change you can make to
 your MacPorts installation to make builds fail in such cases, so that you
 can spot them, instead of having them proceed.

 Note that tao has already been modified to use the right compiler; the
 same change just needs to be made to ace probably.

 The same problem exists for -arch flags, though we don't have a way to
 detect that automatically. Actually I see in the output that they are
 using "-m64" which is equivalent on Intel systems to "-arch x86_64", but
 I'll bet that if the user requested a 32-bit build, by setting build_arch
 to i386 in their macports.conf file, that ace would still use -m64, which
 wouldn't be correct then. So either these -m flags need to be removed and
 replaced with the -arch flags MacPorts is already providing the port with,
 or if 32-bit builds are not acceptable for ace, then the port needs to so
 indicate using the supported_archs setting. And in that case perhaps
 removing the universal variant is the simplest solution for that part of
 the problem.

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


More information about the macports-tickets mailing list