[MacPorts] #59217: boost, graphite2, possibly other ports use macports-libstdc++ instead of libc++

MacPorts noreply at macports.org
Mon Oct 14 14:37:55 UTC 2019


#59217: boost, graphite2, possibly other ports use macports-libstdc++ instead of
libc++
-------------------------------+-------------------------------------------
  Reporter:  ryandesign        |      Owner:  (none)
      Type:  defect            |     Status:  new
  Priority:  Normal            |  Milestone:
 Component:  ports             |    Version:  2.6.1
Resolution:                    |   Keywords:  snowleopard lion mountainlion
      Port:  boost, graphite2  |
-------------------------------+-------------------------------------------

Comment (by mojca):

 I tried to compile boost with the following patch:
 {{{
 #!diff
 --- devel/boost/Portfile
 +++ devel/boost/Portfile
 @@ -1,10 +1,10 @@
  # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c
 -basic-offset: 4 -*- vim:fenc=utf-8:filetype=tcl:et:sw=4:ts=4:sts=4

  PortSystem      1.0
 -PortGroup       compiler_blacklist_versions 1.0
  PortGroup       mpi 1.0
 -PortGroup       cxx11 1.1
  PortGroup       active_variants 1.1
 +compiler.cxx_standard   2011
 +configure.cxxflags-append -std=c++11

  name            boost

 @@ -104,7 +104,7 @@ mpi.setup          -gcc
  # Further: Building Boost using C++11 compliance does not seem to then
  # require ports depending on Boost to also require C++11 compliance,
  # and requiring it does make such building easier for those ports.
 -configure.cxxflags-append -std=gnu++11
 +#configure.cxxflags-append -std=gnu++11

  # It turns out that ccache and distcc can produce boost libraries that,
 although they
  # compile without warning, have all sorts of runtime errors especially
 with pointer corruption.
 }}}
 but it fails to build due to some errors with (potentially misidentified?)
 thread-local support:
 {{{
     "/opt/local/bin/clang++-mp-9.0" -dynamiclib -Wl,-single_module
 -install_name "/opt/local/lib/libboost_context-mt.dylib"  -o
 "bin.v2/libs/context/build/darwin-9.0.0/release/threading-multi
 /visibility-hidden/libboost_context-mt.dylib"
 "bin.v2/libs/context/build/darwin-9.0.0/release/threading-multi
 /visibility-hidden/asm/make_x86_64_sysv_macho_gas.o"
 "bin.v2/libs/context/build/darwin-9.0.0/release/threading-multi
 /visibility-hidden/asm/jump_x86_64_sysv_macho_gas.o"
 "bin.v2/libs/context/build/darwin-9.0.0/release/threading-multi
 /visibility-hidden/asm/ontop_x86_64_sysv_macho_gas.o"
 "bin.v2/libs/context/build/darwin-9.0.0/release/threading-multi
 /visibility-hidden/execution_context.o"
 "bin.v2/libs/context/build/darwin-9.0.0/release/threading-multi
 /visibility-hidden/posix/stack_traits.o"      -headerpad_max_install_names
 -fPIC -m64 -fvisibility=hidden -fvisibility-inlines-hidden -Wl,-dead_strip
 -no_dead_strip_inits_and_terms -L/opt/local/lib
 -Wl,-headerpad_max_install_names -stdlib=libc++ -arch x86_64

 Undefined symbols for architecture x86_64:
   "___cxa_thread_atexit", referenced from:
       boost::context::detail::ecv1_activation_record::current() in
 execution_context.o
 boost::context::detail::ecv1_activation_record_initializer::ecv1_activation_record_initializer()
 in execution_context.o
 boost::context::detail::ecv1_activation_record_initializer::ecv1_activation_record_initializer()
 in execution_context.o
 boost::context::detail::ecv1_activation_record_initializer::~ecv1_activation_record_initializer()
 in execution_context.o
 boost::context::detail::ecv1_activation_record_initializer::~ecv1_activation_record_initializer()
 in execution_context.o
       boost::context::v1::execution_context::current() in
 execution_context.o
 ld: symbol(s) not found for architecture x86_64
 clang: error: linker command failed with exit code 1 (use -v to see
 invocation)
 ...failed darwin.link.dll bin.v2/libs/context/build/darwin-9.0.0/release
 /threading-multi/visibility-hidden/libboost_context-mt.dylib...
 ...skipped
 }}}

-- 
Ticket URL: <https://trac.macports.org/ticket/59217#comment:8>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list