[MacPorts] #37947: graphite2 fails to build with libc++
#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
#37947: graphite2 fails to build with libc++ -------------------------+-------------------------- Reporter: jeremyhu@… | Owner: ryandesign@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Resolution: | Keywords: libc++ Port: graphite2 | -------------------------+-------------------------- Comment (by jeremyhu@…): I disabled that particular test in r102618, but a better solution would be fixing the code. Sorry, but C++ isn't one of my strong points. -- Ticket URL: <https://trac.macports.org/ticket/37947#comment:1> MacPorts <http://www.macports.org/> Ports system for Mac OS
#37947: graphite2 fails to build with libc++ -------------------------+-------------------------- Reporter: jeremyhu@… | Owner: ryandesign@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Resolution: | Keywords: libc++ Port: graphite2 | -------------------------+-------------------------- Comment (by ryandesign@…): Replying to [ticket:37947 jeremyhu@…]:
graphite2 fails to build using libc++
Why would I use libc++? The port builds fine as it currently is, right? It did on every system I've tested it on, after the fixes that have already been committed. -- Ticket URL: <https://trac.macports.org/ticket/37947#comment:2> MacPorts <http://www.macports.org/> Ports system for Mac OS
#37947: graphite2 fails to build with libc++ -------------------------+-------------------------- Reporter: jeremyhu@… | Owner: ryandesign@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Resolution: | Keywords: libc++ Port: graphite2 | -------------------------+-------------------------- Comment (by jeremyhu@…): Replying to [comment:2 ryandesign@…]:
Replying to [ticket:37947 jeremyhu@…]:
graphite2 fails to build using libc++
Why would I use libc++?
To test it, and to uncover bugs in projects ;)
The port builds fine as it currently is, right?
Yes, it does build with the default settings (libstdc++) -- Ticket URL: <https://trac.macports.org/ticket/37947#comment:3> MacPorts <http://www.macports.org/> Ports system for Mac OS
#37947: graphite2 fails to build with libc++ -------------------------+-------------------------- Reporter: jeremyhu@… | Owner: ryandesign@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Resolution: | Keywords: libc++ Port: graphite2 | -------------------------+-------------------------- Comment (by ryandesign@…): I have reported the problem to the developers: https://sourceforge.net/tracker/?func=detail&atid=513479&aid=3606023&group_i... -- Ticket URL: <https://trac.macports.org/ticket/37947#comment:4> MacPorts <http://www.macports.org/> Ports system for Mac OS
#37947: graphite2 fails to build with libc++ -------------------------+-------------------------- Reporter: jeremyhu@… | Owner: ryandesign@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Resolution: | Keywords: libc++ Port: graphite2 | -------------------------+-------------------------- Comment (by jeremyhu@…): Thanks, I CC'd myself there as well. -- Ticket URL: <https://trac.macports.org/ticket/37947#comment:5> MacPorts <http://www.macports.org/> Ports system for Mac OS
participants (1)
-
MacPorts