[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