[MacPorts] #43086: Trouble with MacPorts installation of graph tool

MacPorts noreply at macports.org
Thu Apr 10 15:26:13 PDT 2014


#43086: Trouble with MacPorts installation of graph tool
------------------------------+------------------------
  Reporter:  t.m.isele@…      |      Owner:  mmoll@…
      Type:  defect           |     Status:  new
  Priority:  Normal           |  Milestone:
 Component:  ports            |    Version:  2.2.1
Resolution:                   |   Keywords:  graph-tool
      Port:  py27-graph-tool  |
------------------------------+------------------------

Comment (by cal@…):

 Replying to [comment:15 t.m.isele@…]:
 > I found out, that the symbol
 > {{{
 >
 __ZN5boost6python7objects23register_dynamic_id_auxENS0_9type_infoEPFNSt3__14pairIPvS2_EES5_E
 > }}}
 > is indeed not contained there.
 > Nevertheless, there is a very similar symbol:
 > {{{
 >
 __ZN5boost6python7objects23register_dynamic_id_auxENS0_9type_infoEPFSt4pairIPvS2_ES4_E
 > }}}
 > if that does mean anything.

 That actually gives me enough information to pinpoint this down to a C++
 standard library issue. Compare:
 {{{
 $> # the symbol that's missing
 $> echo
 '__ZN5boost6python7objects23register_dynamic_id_auxENS0_9type_infoEPFNSt3__14pairIPvS2_EES5_E'
 | c++filt
 boost::python::objects::register_dynamic_id_aux(boost::python::type_info,
 std::__1::pair<void*, boost::python::type_info> (*)(void*))
 $> # with the symbol that's present
 boost::python::objects::register_dynamic_id_aux(boost::python::type_info,
 std::pair<void*, boost::python::type_info> (*)(void*))
 }}}

 The `::__1` you see there is part of libc++, clang's new C++ standard
 library. It seems graph tool deliberately chooses to install against
 libc++, but your version of boost is compiled against (the older)
 libstdc++, which doesn't support C++11. So either, if graph tool doesn't
 need C++11, it shouldn't use libc++, or, if it needs C++11, it cannot be
 built on systems below Mavericks (except with a lot of effort, see
 http://apple.stackexchange.com/questions/118550/define-local-keyword-
 globally-in-a-macports-config/122997#122997).

 Note that a symbol mismatch like this is actually one of the nicer
 problems you can encounter in this situation. I could also just have
 crashed randomly.

 I don't understand why `libgraph_tool_core.so` links against
 `/usr/lib/libstdc++.6.dylib`, though.

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


More information about the macports-tickets mailing list