#37947: graphite2 fails to build with libc++ ------------------------+-------------------------- Reporter: jeremyhu@… | Owner: ryandesign@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Keywords: libc++ | Port: graphite2 ------------------------+-------------------------- graphite2 fails to build using libc++ Add the following to graphite2's Portfile to try building it with libc++ (warning, don't try to mix libc++ and libstdc++ based libraries): {{{ configure.cxxflags-append -stdlib=libc++ }}} the build fails with: {{{ [ 84%] Building CXX object tests/featuremap/CMakeFiles/featuremaptest.dir/featuremaptest.cpp.o cd /opt/local/var/macports/build/_Users_jeremy_src_macports_trunk_dports_graphics_graphite2/graphite2/work/graphite2-1.2.0/tests/featuremap && /usr/bin/clang++ -DGRAPHITE2_STATIC -pipe -O2 -stdlib=libc++ -arch x86_64 -arch i386 -O3 -DNDEBUG -arch x86_64 -arch i386 -I/opt/local/var/macports/build/_Users_jeremy_src_macports_trunk_dports_graphics_graphite2/graphite2/work/graphite2-1.2.0/include -I/opt/local/var/macports/build/_Users_jeremy_src_macports_trunk_dports_graphics_graphite2/graphite2/work/graphite2-1.2.0/src -o CMakeFiles/featuremaptest.dir/featuremaptest.cpp.o -c /opt/local/var/macports/build/_Users_jeremy_src_macports_trunk_dports_graphics_graphite2/graphite2/work/graphite2-1.2.0/tests/featuremap/featuremaptest.cpp In file included from /opt/local/var/macports/build/_Users_jeremy_src_macports_trunk_dports_graphics_graphite2/graphite2/work/graphite2-1.2.0/tests/featuremap/featuremaptest.cpp:24: In file included from /usr/bin/../lib/c++/v1/fstream:169: In file included from /usr/bin/../lib/c++/v1/ostream:130: In file included from /usr/bin/../lib/c++/v1/ios:216: In file included from /usr/bin/../lib/c++/v1/__locale:15: In file included from /usr/bin/../lib/c++/v1/string:434: In file included from /usr/bin/../lib/c++/v1/algorithm:593: /usr/bin/../lib/c++/v1/utility:255:15: error: no viable overloaded '=' first = __p.first; ~~~~~ ^ ~~~~~~~~~ /usr/bin/../lib/c++/v1/__tree:1246:35: note: in instantiation of member function 'std::__1::pair<const graphite2::TtfUtil::Tag, std::__1::pair<const void *, unsigned long> >::operator=' requested here __cache->__value_ = *__first; ^ /usr/bin/../lib/c++/v1/__tree:1187:9: note: in instantiation of function template specialization 'std::__1::__tree<std::__1::pair<const graphite2::TtfUtil::Tag, std::__1::pair<const void *, unsigned long> >, std::__1::__map_value_compare<const graphite2::TtfUtil::Tag, std::__1::pair<const void *, unsigned long>, std::__1::less<const graphite2::TtfUtil::Tag>, true>, std::__1::allocator<std::__1::pair<const graphite2::TtfUtil::Tag, std::__1::pair<const void *, unsigned long> > >
::__assign_multi<std::__1::__tree_const_iterator<std::__1::pair<const graphite2::TtfUtil::Tag, std::__1::pair<const void *, unsigned long> >, const std::__1::__tree_node<std::__1::pair<const graphite2::TtfUtil::Tag, std::__1::pair<const void *, unsigned long> >, void *> *, long> >' requested here __assign_multi(__t.begin(), __t.end()); ^ /usr/bin/../lib/c++/v1/map:766:21: note: in instantiation of member function 'std::__1::__tree<std::__1::pair<const graphite2::TtfUtil::Tag, std::__1::pair<const void *, unsigned long> >, std::__1::__map_value_compare<const graphite2::TtfUtil::Tag, std::__1::pair<const void *, unsigned long>, std::__1::less<const graphite2::TtfUtil::Tag>, true>, std::__1::allocator<std::__1::pair<const graphite2::TtfUtil::Tag, std::__1::pair<const void *, unsigned long> > > ::operator=' requested here __tree_ = __m.__tree_; ^ /opt/local/var/macports/build/_Users_jeremy_src_macports_trunk_dports_graphics_graphite2/graphite2/work/graphite2-1.2.0/tests/featuremap/featuremaptest.cpp:167:7: note: in instantiation of member function 'std::__1::map<const graphite2::TtfUtil::Tag, std::__1::pair<const void *, unsigned long>, std::__1::less<const graphite2::TtfUtil::Tag>, std::__1::allocator<std::__1::pair<const graphite2::TtfUtil::Tag, std::__1::pair<const void *, unsigned long> > > >::operator=' requested here class face_handle ^ /opt/local/var/macports/build/_Users_jeremy_src_macports_trunk_dports_graphics_graphite2/graphite2/work/graphite2-1.2.0/src/inc/TtfUtil.h:52:7: note: candidate function (the implicit copy assignment operator) not viable: 'this' argument has type 'const graphite2::TtfUtil::Tag', but method is not marked const class Tag ^ 1 error generated. }}}
-- Ticket URL: <https://trac.macports.org/ticket/37947> MacPorts <http://www.macports.org/> Ports system for Mac OS