[MacPorts] #44545: arb: allow building on Snow Leopard

MacPorts noreply at macports.org
Tue Aug 5 04:03:51 PDT 2014


#44545: arb: allow building on Snow Leopard
--------------------------+-----------------------------
 Reporter:  ryandesign@…  |      Owner:  matt.cottrell@…
     Type:  enhancement   |     Status:  new
 Priority:  Normal        |  Milestone:
Component:  ports         |    Version:  2.3.1
 Keywords:  haspatch      |       Port:  arb
--------------------------+-----------------------------
 Using my revised patch from #44367, the new failure on Snow Leopard is:

 {{{
 Compiler version check:
   - Your compiler is 'gcc' version '4.2.1'
     This version is not in the list of supported gcc-versions:
     * 4.3.1
     * 4.3.2
     * 4.3.3
     * 4.3.4
     * 4.4.1
     * 4.4.3
     * 4.4.5
     * 4.4.6
     * 4.4.7
     * 4.5.2
     * 4.6.1
     * 4.6.2
     * 4.6.3
     * 4.7.1
     * 4.7.2
     * 4.7.3
     * 4.8.0
     * 4.8.1
     * 4.8.2
     * 4.8.3
     * 4.9.0
   - You may either ..
     - add your version to ALLOWED_gcc_VERSIONS in the Makefile and try it
 out or
     - switch to one of the allowed versions (see arb_README_gcc.txt for
 installing
       a different version of gcc)

 All tools needed for ARB compilation have been located.
 SOURCE_TOOLS/generate_all_links.sh
 make[2]: *** [check_GCC_VERSION] Error 1
 }}}

 After adding 4.2.1 to the Makefile's list of acceptable gcc versions, the
 next error I got was:

 {{{
 /Volumes/Data/macports/snowleopard/var/macports/build/_Volumes_Data_macports_dports_science_arb/arb/work/arbsrc_12565/INCLUDE/gccver.h:34:3:
 error: #error Wrong compiler version (need at least gcc 4.3 or clang 4.2)
 }}}

 Editing gccver.h to allow gcc 4.2, the next error was:

 {{{
 /Volumes/Data/macports/snowleopard/var/macports/build/_Volumes_Data_macports_dports_science_arb/arb/work/arbsrc_12565/INCLUDE/arbtools.h:
 In copy constructor 'BackTraceInfo::BackTraceInfo(const BackTraceInfo&)':
 /Volumes/Data/macports/snowleopard/var/macports/build/_Volumes_Data_macports_dports_science_arb/arb/work/arbsrc_12565/INCLUDE/arbtools.h:36:
 error: 'Noncopyable::Noncopyable(const Noncopyable&)' is private
 /Volumes/Data/macports/snowleopard/var/macports/build/_Volumes_Data_macports_dports_science_arb/arb/work/arbsrc_12565/INCLUDE/arb_backtrace.h:35:
 error: within this context
 arb_msg.cxx: In function 'void GBK_dump_backtrace(FILE*, const char*)':
 arb_msg.cxx:382: note: synthesized method
 'BackTraceInfo::BackTraceInfo(const BackTraceInfo&)' first required here
 make[3]: *** [arb_msg.o] Error 1
 }}}

 This indeed sounds like it could be a deficiency in gcc 4.2, so we should
 instead blacklist old gcc versions, including llvm-gcc, which gave the
 same error. llvm-gcc is already blacklisted, so changing the blacklist to
 `*gcc-4.0 *gcc-4.2` should cause it to fall back to clang instead.

 The old clang 1.7 on Snow Leopard doesn't have a C++ compiler and falls
 back on llvm-g++-4.2 for that, which triggers arb's compiler version check
 again, so adding the compiler_blacklist_versions 1.0 portgroup and
 additionally blacklisting `{clang < 138}` takes care of that. And with
 that, it now builds on Snow Leopard. I haven't yet tested if it can also
 now build on Tiger and Leopard.

-- 
Ticket URL: <https://trac.macports.org/ticket/44545>
MacPorts <http://www.macports.org/>
Ports system for OS X


More information about the macports-tickets mailing list