[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