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#manu... -- Tiago de Paula Peixoto <tiago@skewed.de>