[graph-tool] general "did not match C++ signature" error

Philipp-Maximilian Jacob pmj27 at cam.ac.uk
Wed Feb 1 18:53:18 CET 2017


Short of a solution there are two posts with similar problems online:

http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com/Boost-Python-ArgumentError-Python-argument-types-Error-td4026769.html

https://git.skewed.de/count0/graph-tool/issues/277

 

The issue seems to normally revolve around using different versions of Python or packages when compiling. Maybe ask your network admin to recompile paying particular attention to that and see if it fixes it?

 

Best wishes,

 

Philipp

 

From: Alexandre Hannud Abdo [mailto:abdo at member.fsf.org] 
Sent: 31 January 2017 21:04
To: Main discussion list for the graph-tool project <graph-tool at skewed.de>
Subject: [graph-tool] general "did not match C++ signature" error

 

Ni ! 

 

The import working means that Python can find the Python component of graph tool.

 

The error you get has to do with boost Python not finding, for a call internal to the Python component, a corresponding function in the C++ component that matches it's argument types.

 

Thus, this happens if any of the pieces involved do not match. A common cause is version mismatch. 

 

Ldd is useful to check some of those: the versions of libraries linked to the C++ component.

 

In your led output I see

 

libpython2.6.so.1.0 => /usr/lib64/libpython2.6.so.1.0 (0x00007ffff38ce000)

 

Thus it seems to be the case that the package got compiled against Python 2.6, yet got installed for Python 2.7 . 

Cheers

 

ale

On Sunday, January 29, 2017, bloodymeli <bloodymeli at gmail.com <javascript:_e(%7B%7D,'cvml','bloodymeli at gmail.com');> > wrote:

Hi,

Graph-tool was manually compiled on a local cluster (based on RedHat) by a
network admin. The python command
import graph_tool
works fine, but almost every other command results in an error related to
"did not match C++ signature":
For example,
gtGraph=graph_tool.load_graph("yeast.graphml")
(attached) results in:
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/epd/lib/python2.7/site-packages/graph_tool/__init__.py",
line 2702, in load_graph
    g.load(file_name, fmt, ignore_vp, ignore_ep, ignore_gp)
  File "/usr/local/epd/lib/python2.7/site-packages/graph_tool/__init__.py",
line 2320, in load
    ignore_ep, ignore_gp)
Boost.Python.ArgumentError: Python argument types in
    GraphInterface.read_from_file(GraphInterface, str, NoneType, str, list,
list, list)
did not match C++ signature:
    read_from_file(graph_tool::GraphInterface {lvalue},
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, boost::python::api::object,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, boost::python::list, boost::python::list,
boost::python::list)

Following some other posts in the mailing list, I've applied the ldd command
and:
ldd
/usr/local/epd/lib/python2.7/site-packages/graph_tool/libgraph_tool_core.so
linux-vdso.so.1 =>  (0x00007ffff7ffe000)
        libboost_iostreams.so.1.59.0 => /usr/lib64/libboost_iostreams.so.1.59.0
(0x00007ffff5c46000)
        libboost_python.so.5 => /usr/lib64/libboost_python.so.5
(0x00007ffff59f5000)
        libboost_regex.so.1.59.0 => /usr/lib64/libboost_regex.so.1.59.0
(0x00007ffff56df000)
        libboost_coroutine.so.1.59.0 => /usr/lib64/libboost_coroutine.so.1.59.0
(0x00007ffff54d4000)
        libCGAL.so.12 =>
/usr/local/cgal-releases-CGAL-4.9/build/release/lib/libCGAL.so.12
(0x00007ffff52af000)
        libexpat.so.1 => /lib64/libexpat.so.1 (0x00007ffff5087000)
        libstdc++.so.6 =>
/usr/local/gcc5.3/bin/../lib/gcc/x86_64-unknown-linux-gnu/5.3.0/../../../../lib64/libstdc++.so.6
(0x00007ffff4cf8000)
        libm.so.6 => /lib64/libm.so.6 (0x00007ffff4a74000)
        libc.so.6 => /lib64/libc.so.6 (0x00007ffff46e0000)
        libgcc_s.so.1 =>
/usr/local/gcc5.3/bin/../lib/gcc/x86_64-unknown-linux-gnu/5.3.0/../../../../lib64/libgcc_s.so.1
(0x00007ffff44c9000)
        libbz2.so.1 => /lib64/libbz2.so.1 (0x00007ffff42b8000)
        libz.so.1 => /usr/local/epd/lib/libz.so.1 (0x00007ffff409a000)
        librt.so.1 => /lib64/librt.so.1 (0x00007ffff3e91000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007ffff3c74000)
        libpython2.6.so.1.0 => /usr/lib64/libpython2.6.so.1.0 (0x00007ffff38ce000)
        libicudata.so.42 => /usr/lib64/libicudata.so.42 (0x00007ffff2788000)
        libicui18n.so.42 => /usr/lib64/libicui18n.so.42 (0x00007ffff23f2000)
        libicuuc.so.42 => /usr/lib64/libicuuc.so.42 (0x00007ffff20a0000)
        libboost_context.so.1.59.0 => /usr/lib64/libboost_context.so.1.59.0
(0x00007ffff1e96000)
        libboost_thread.so.1.59.0 => /usr/lib64/libboost_thread.so.1.59.0
(0x00007ffff1c74000)
        libboost_chrono.so.1.59.0 => /usr/lib64/libboost_chrono.so.1.59.0
(0x00007ffff1a6d000)
        libboost_system.so.1.59.0 => /usr/lib64/libboost_system.so.1.59.0
(0x00007ffff1869000)
        libmpfr.so.1 => /usr/lib64/libmpfr.so.1 (0x00007ffff161c000)
        libgmp.so.3 => /usr/lib64/libgmp.so.3 (0x00007ffff13c1000)
        /lib64/ld-linux-x86-64.so.2 (0x0000003f14800000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007ffff11bc000)
        libutil.so.1 => /lib64/libutil.so.1 (0x00007ffff0fb9000)

yeast.graphml
<http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com/file/n4026983/yeast.graphml>



--
View this message in context: http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com/general-did-not-match-C-signature-error-tp4026983.html
Sent from the Main discussion list for the graph-tool project mailing list archive at Nabble.com.
_______________________________________________
graph-tool mailing list
graph-tool at skewed.de <mailto:graph-tool at skewed.de> 
https://lists.skewed.de/mailman/listinfo/graph-tool

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.skewed.de/pipermail/graph-tool/attachments/20170201/d7905aff/attachment.htm>


More information about the graph-tool mailing list