[graph-tool] Boost.Python.ArgumentError: Python argument types did not match C++ signature

Tiago de Paula Peixoto tiago at skewed.de
Thu Feb 23 01:33:05 CET 2017


On 22.02.2017 21:11, P-M wrote:
> I have been trying to compile the recent git version of graph-tool against my
> anaconda python. I do this using
> 
> sudo ./configure CXX="g++-5" CXXFLAGS="-std=gnu++14
> -Wno-unused-local-typedefs" PYTHON="/home/pmj27/anaconda2/bin/python2.7"
> CAIROMM_LIBS="-L/home/pmj27/anaconda2/include/cairomm-1.0/cairomm"
> --enable-openmp 
> 
> (if I skip the sudo it won't pick up boost for reasons not quite known to
> me). I then run "sudo make -j20" followed by "make install". When opening
> python and importing the module I however get the error message
> 
> Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
>   File
> "/home/pmj27/anaconda2/lib/python2.7/site-packages/graph_tool/__init__.py",
> line 3323, in <module>
>     openmp_set_schedule("static", 0)
>   File
> "/home/pmj27/anaconda2/lib/python2.7/site-packages/graph_tool/__init__.py",
> line 3320, in openmp_set_schedule
>     return libcore.openmp_set_schedule(schedule, chunk)
> Boost.Python.ArgumentError: Python argument types in
>     graph_tool.libgraph_tool_core.openmp_set_schedule(str, int)
> did not match C++ signature:
>     openmp_set_schedule(std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> >, int)
> 
> My first thought was that graph-tool must be linking against an incorrect
> version of boost. So, following the advice from other posts, I ran ldd
> /home/pmj27/anaconda2/lib/python2.7/site-packages/graph_tool/libgraph_tool_core.so
> . This returns:
> 
>         linux-vdso.so.1 =>  (0x00007fffc93ce000)
>         libpython2.7.so.1.0 => /home/pmj27/anaconda2/lib/libpython2.7.so.1.0
> (0x00007fbcd05ec000)
>         libboost_iostreams.so.1.63.0 =>
> /home/pmj27/anaconda2/lib/libboost_iostreams.so.1.63.0 (0x00007fbcd03c4000)
>         libboost_python.so.1.63.0 =>
> /home/pmj27/anaconda2/lib/libboost_python.so.1.63.0 (0x00007fbcd0175000)
>         libboost_regex.so.1.63.0 =>
> /home/pmj27/anaconda2/lib/libboost_regex.so.1.63.0 (0x00007fbccfe5a000)
>         libboost_coroutine.so.1.63.0 =>
> /home/pmj27/anaconda2/lib/libboost_coroutine.so.1.63.0 (0x00007fbccfc50000)
>         libexpat.so.1 => /home/pmj27/anaconda2/lib/libexpat.so.1
> (0x00007fbccfa27000)
>         libstdc++.so.6 => /home/pmj27/anaconda2/lib/libstdc++.so.6
> (0x00007fbccf66b000)
>         libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fbccf33c000)
>         libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fbccef72000)
>         libgcc_s.so.1 => /home/pmj27/anaconda2/lib/libgcc_s.so.1
> (0x00007fbcced5b000)
>         libgomp.so.1 => /home/pmj27/anaconda2/lib/libgomp.so.1
> (0x00007fbcceb38000)
>         libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0
> (0x00007fbcce91a000)
>         libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fbcce716000)
>         libutil.so.1 => /lib/x86_64-linux-gnu/libutil.so.1
> (0x00007fbcce513000)
>         libz.so.1 => /home/pmj27/anaconda2/lib/./libz.so.1
> (0x00007fbcce2fc000)
>         librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fbcce0f4000)
>         libicudata.so.56 => /home/pmj27/anaconda2/lib/./libicudata.so.56
> (0x00007fbccc711000)
>         libicui18n.so.56 => /home/pmj27/anaconda2/lib/./libicui18n.so.56
> (0x00007fbccc214000)
>         libicuuc.so.56 => /home/pmj27/anaconda2/lib/./libicuuc.so.56
> (0x00007fbccbe2f000)
>         libboost_context.so.1.63.0 =>
> /home/pmj27/anaconda2/lib/./libboost_context.so.1.63.0 (0x00007fbccbc26000)
>         libboost_thread.so.1.63.0 =>
> /home/pmj27/anaconda2/lib/./libboost_thread.so.1.63.0 (0x00007fbccba04000)
>         libboost_chrono.so.1.63.0 =>
> /home/pmj27/anaconda2/lib/./libboost_chrono.so.1.63.0 (0x00007fbccb7fd000)
>         libboost_system.so.1.63.0 =>
> /home/pmj27/anaconda2/lib/./libboost_system.so.1.63.0 (0x00007fbccb5fa000)
>         /lib64/ld-linux-x86-64.so.2 (0x000055cf9c8bc000)
> 
> As far as I can tell all boost libraries are based on the anaconda boost
> libraries. Does anybody have any ideas what might be going wrong?

Whenever this happens it means there is mismatch between the Python version
that is being used, Boost Python, and graph-tool. All these must be linked
together with the same version during compilation. Please read the installation
instructions carefully:
 
   https://git.skewed.de/count0/graph-tool/wikis/installation-instructions#manual-compilation

-- 
Tiago de Paula Peixoto <tiago at skewed.de>

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.skewed.de/pipermail/graph-tool/attachments/20170223/b2b0636c/attachment.asc>


More information about the graph-tool mailing list