Boost.Python.ArgumentError: Python argument types did not match C++ signature
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? Best, Philipp -- View this message in context: http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com/... Sent from the Main discussion list for the graph-tool project mailing list archive at Nabble.com.
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>
The odd thing though is that graph-tool is compiled against /home/pmj27/anaconda2/bin/python2.7. The anaconda boost is installed through conda so should also be linked against that. I can try and tell configure explicitely to take its boost libraries from /home/pmj27/anaconda2/lib/. As far as I can tell all the library files reside in that folder. What would I need to specify for that? (My proficiency isn't great enough to piece it together from the manual unfortuantely.) As far as I can tell by the output reproduced by ldd /home/pmj27/anaconda2/lib/python2.7/site-packages/graph_tool/libgraph_tool_core.so though the boost libraries used by graph-tool are the anaconda boost libraries as they reside in /home/pmj27/anaconda2/lib/ so it isn't clear to me if that would change much. Or am I missing a vital piece here? -- View this message in context: http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com/... Sent from the Main discussion list for the graph-tool project mailing list archive at Nabble.com.
On 23.02.2017 15:33, P-M wrote:
The odd thing though is that graph-tool is compiled against /home/pmj27/anaconda2/bin/python2.7. The anaconda boost is installed through conda so should also be linked against that. I can try and tell configure explicitely to take its boost libraries from /home/pmj27/anaconda2/lib/. As far as I can tell all the library files reside in that folder. What would I need to specify for that? (My proficiency isn't great enough to piece it together from the manual unfortuantely.) As far as I can tell by the output reproduced by ldd /home/pmj27/anaconda2/lib/python2.7/site-packages/graph_tool/libgraph_tool_core.so though the boost libraries used by graph-tool are the anaconda boost libraries as they reside in /home/pmj27/anaconda2/lib/ so it isn't clear to me if that would change much. Or am I missing a vital piece here?
You are describing a consistent picture, but the error proves otherwise. I think what you might be confusing is the compilation-time linking (which gets setup when you do ./configure and make) and the run-time linking (this is what you see with ldd). If ldd shows the right library, it does not mean that the linking was in fact done correctly. I tried to explain this in the documentation, but it seems I failed... In short, you have to be sure that the paths given to configure are correct, which in your case I think should be: ./configure --prefix=$HOME/.local PYTHON=/home/pmj27/anaconda2/bin/python2.7 CPPFLAGS="-I/home/pmj27/anaconda2/include" LDFLAGS="-L/home/pmj27/anaconda2/lib" As is explained in the documentation. But this assumes that the rest of your boost-python + python installation is consistent, which I have no idea. Best, Tiago -- Tiago de Paula Peixoto <tiago@skewed.de>
Thank you for that, that was a lot more helpful than my past hour of googling... Based on what you suggested I ran ./configure --prefix=$HOME/.local CXX="g++-5" CXXFLAGS="-std=gnu++14 -Wno-unused-local-typedefs" PYTHON=/home/pmj27/anaconda2/bin/python2.7 CPPFLAGS="-I/home/pmj27/anaconda2/include" LDFLAGS="-L/home/pmj27/anaconda2/lib" --enable-openmp This means it now correctly picks up boost but now returns me two cryptic error messages: checking python2.7 module: numpy... yes ./configure: line 20689: -I/home/pmj27/anaconda2/include: No such file or directory checking for /home/pmj27/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/arrayobject.h... no configure: error: Numpy extension header not found /home/pmj27/anaconda2/include and /home/pmj27/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/arrayobject.h both exist though. Based on config.log <http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com/file/n4027064/config.log> the issue seems to be with Python.h: configure:20691: g++-5 -c -fopenmp -O3 -fvisibility=default -fvisibility-inlines-hidden -Wno-deprecated -ftemplate-depth-250 -DNDEBUG -Wall -Wextra -ftemplate-backtrace-limit=0 -std=gnu++14 -Wno-unused-local-typedefs -I/home/pmj27/anaconda2/include conftest.cpp >&5 conftest.cpp:43:20: fatal error: Python.h: No such file or directory compilation terminated. I presume this means it isn't picking up python correctly anymore? Best, Philipp -- View this message in context: http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com/... Sent from the Main discussion list for the graph-tool project mailing list archive at Nabble.com.
On 23.02.2017 20:43, P-M wrote:
Thank you for that, that was a lot more helpful than my past hour of googling...
Based on what you suggested I ran
./configure --prefix=$HOME/.local CXX="g++-5" CXXFLAGS="-std=gnu++14 -Wno-unused-local-typedefs" PYTHON=/home/pmj27/anaconda2/bin/python2.7 CPPFLAGS="-I/home/pmj27/anaconda2/include" LDFLAGS="-L/home/pmj27/anaconda2/lib" --enable-openmp
This means it now correctly picks up boost but now returns me two cryptic error messages:
checking python2.7 module: numpy... yes ./configure: line 20689: -I/home/pmj27/anaconda2/include: No such file or directory checking for /home/pmj27/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/arrayobject.h... no configure: error: Numpy extension header not found
/home/pmj27/anaconda2/include and /home/pmj27/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/arrayobject.h both exist though. Based on config.log <http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com/file/n4027064/config.log> the issue seems to be with Python.h:
configure:20691: g++-5 -c -fopenmp -O3 -fvisibility=default -fvisibility-inlines-hidden -Wno-deprecated -ftemplate-depth-250 -DNDEBUG -Wall -Wextra -ftemplate-backtrace-limit=0 -std=gnu++14 -Wno-unused-local-typedefs -I/home/pmj27/anaconda2/include conftest.cpp >&5 conftest.cpp:43:20: fatal error: Python.h: No such file or directory compilation terminated.
I presume this means it isn't picking up python correctly anymore?
You manage to find the weirdest errors... Could you please try again with the new git version? -- Tiago de Paula Peixoto <tiago@skewed.de>
I am getting that impression too. Unfortunately the newest git verison produces the same error as far as I can tell. config.log <http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com/file/n4027066/config.log> is attached again. -- View this message in context: http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com/... Sent from the Main discussion list for the graph-tool project mailing list archive at Nabble.com.
On 24.02.2017 12:17, P-M wrote:
I am getting that impression too. Unfortunately the newest git verison produces the same error as far as I can tell. config.log <http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com/file/n4027066/config.log> is attached again.
Can you please try once more? -- Tiago de Paula Peixoto <tiago@skewed.de>
That resolved the numpy issue. Now I get another error message though: configure: creating ./config.status config.status: creating Makefile gawk: symbol lookup error: /home/pmj27/anaconda2/lib/libreadline.so.6: undefined symbol: PC config.status: error: could not create Makefile I have attached the config.log <http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com/file/n4027068/config.log> again. Doing some googling this is an issue others have observed too with anaconda (https://github.com/ContinuumIO/anaconda-issues/issues/152 ). Is this something addressable within graph-tool or by providing configure flags or is this something that needs to be solved within anaconda? Best, Philipp -- View this message in context: http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com/... Sent from the Main discussion list for the graph-tool project mailing list archive at Nabble.com.
On 24.02.2017 16:11, P-M wrote:
That resolved the numpy issue. Now I get another error message though:
configure: creating ./config.status config.status: creating Makefile gawk: symbol lookup error: /home/pmj27/anaconda2/lib/libreadline.so.6: undefined symbol: PC config.status: error: could not create Makefile
I have attached the config.log <http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com/file/n4027068/config.log> again. Doing some googling this is an issue others have observed too with anaconda (https://github.com/ContinuumIO/anaconda-issues/issues/152 ). Is this something addressable within graph-tool or by providing configure flags or is this something that needs to be solved within anaconda?
This is not a graph-tool problem at all. You should try some of the workarounds described in the anaconda issue. -- Tiago de Paula Peixoto <tiago@skewed.de>
Applying the work around and using the system readline means ./configure now seems to run without errors. When running make I get an error however revolving around CGAL. Do you know what might be causing them? In file included from /usr/include/CGAL/Periodic_3_Delaunay_triangulation_traits_3.h:30:0, from graph_triangulation.cc:55: /home/pmj27/anaconda2/include/CGAL/Periodic_3_triangulation_traits_3.h:33:9: error: redefinition of ‘class CGAL::Traits_with_offsets_adaptor<K, Functor_>’ class Traits_with_offsets_adaptor { ^ In file included from /usr/include/CGAL/Periodic_3_Delaunay_triangulation_traits_3.h:27:0, from graph_triangulation.cc:55: /usr/include/CGAL/Traits_with_offsets_adaptor.h:31:9: error: previous definition of ‘class CGAL::Traits_with_offsets_adaptor<K, Functor_>’ class Traits_with_offsets_adaptor { ^ In file included from /usr/include/CGAL/Periodic_3_Delaunay_triangulation_traits_3.h:30:0, from graph_triangulation.cc:55: /home/pmj27/anaconda2/include/CGAL/Periodic_3_triangulation_traits_3.h:96:7: error: redefinition of ‘class CGAL::Periodic_3_construct_point_3<K, Construct_point_3_base>’ class Periodic_3_construct_point_3 : public Construct_point_3_base ^ In file included from /usr/include/CGAL/Periodic_3_Delaunay_triangulation_traits_3.h:28:0, from graph_triangulation.cc:55: /usr/include/CGAL/Periodic_3_construct_point_3.h:31:7: error: previous definition of ‘class CGAL::Periodic_3_construct_point_3<K, Construct_point_3_base>’ class Periodic_3_construct_point_3 : public Construct_point_3_base ^ In file included from /home/pmj27/anaconda2/include/boost/type_traits/ice.hpp:15:0, from /home/pmj27/anaconda2/include/boost/python/detail/def_helper.hpp:9, from /home/pmj27/anaconda2/include/boost/python/class.hpp:29, from /home/pmj27/anaconda2/include/boost/python.hpp:18, from ../../../src/graph/numpy_bind.hh:22, from graph_triangulation.cc:72: /home/pmj27/anaconda2/include/boost/type_traits/detail/ice_or.hpp:17:71: note: #pragma message: NOTE: Use of this header (ice_or.hpp) is deprecated # pragma message("NOTE: Use of this header (ice_or.hpp) is deprecated") ^ In file included from /home/pmj27/anaconda2/include/boost/type_traits/ice.hpp:16:0, from /home/pmj27/anaconda2/include/boost/python/detail/def_helper.hpp:9, from /home/pmj27/anaconda2/include/boost/python/class.hpp:29, from /home/pmj27/anaconda2/include/boost/python.hpp:18, from ../../../src/graph/numpy_bind.hh:22, from graph_triangulation.cc:72: /home/pmj27/anaconda2/include/boost/type_traits/detail/ice_and.hpp:18:72: note: #pragma message: NOTE: Use of this header (ice_and.hpp) is deprecated # pragma message("NOTE: Use of this header (ice_and.hpp) is deprecated") ^ In file included from /home/pmj27/anaconda2/include/boost/type_traits/ice.hpp:17:0, from /home/pmj27/anaconda2/include/boost/python/detail/def_helper.hpp:9, from /home/pmj27/anaconda2/include/boost/python/class.hpp:29, from /home/pmj27/anaconda2/include/boost/python.hpp:18, from ../../../src/graph/numpy_bind.hh:22, from graph_triangulation.cc:72: /home/pmj27/anaconda2/include/boost/type_traits/detail/ice_not.hpp:17:72: note: #pragma message: NOTE: Use of this header (ice_not.hpp) is deprecated # pragma message("NOTE: Use of this header (ice_not.hpp) is deprecated") ^ In file included from /home/pmj27/anaconda2/include/boost/type_traits/ice.hpp:18:0, from /home/pmj27/anaconda2/include/boost/python/detail/def_helper.hpp:9, from /home/pmj27/anaconda2/include/boost/python/class.hpp:29, from /home/pmj27/anaconda2/include/boost/python.hpp:18, from ../../../src/graph/numpy_bind.hh:22, from graph_triangulation.cc:72: /home/pmj27/anaconda2/include/boost/type_traits/detail/ice_eq.hpp:17:71: note: #pragma message: NOTE: Use of this header (ice_eq.hpp) is deprecated # pragma message("NOTE: Use of this header (ice_eq.hpp) is deprecated") ^ In file included from /home/pmj27/anaconda2/include/CGAL/Periodic_3_Delaunay_triangulation_3.h:29:0, from graph_triangulation.cc:56: /home/pmj27/anaconda2/include/CGAL/Periodic_3_triangulation_3.h: In instantiation of ‘CGAL::Periodic_3_triangulation_3<GT, TDS>::Vertex_handle CGAL::Periodic_3_triangulation_3<GT, TDS>::periodic_insert(const Point&, const Offset&, CGAL::Periodic_3_triangulation_3<GT, TDS>::Locate_type, CGAL::Periodic_3_triangulation_3<GT, TDS>::Cell_handle, const Conflict_tester&, Point_hider&, CGAL::Periodic_3_triangulation_3<GT, TDS>::Vertex_handle) [with Conflict_tester = CGAL::Periodic_3_Delaunay_triangulation_3<CGAL::Periodic_3_Delaunay_triangulation_traits_3<CGAL::Epick>
::Conflict_tester; Point_hider = CGAL::Periodic_3_Delaunay_triangulation_3<CGAL::Periodic_3_Delaunay_triangulation_traits_3<CGAL::Epick> ::Point_hider; GT = CGAL::Periodic_3_Delaunay_triangulation_traits_3<CGAL::Epick>; TDS = CGAL::Triangulation_data_structure_3<CGAL::Triangulation_vertex_base_3<CGAL::Periodic_3_Delaunay_triangulation_traits_3<CGAL::Epick>, CGAL::Periodic_3_triangulation_ds_vertex_base_3<void> >, CGAL::Triangulation_cell_base_3<CGAL::Periodic_3_Delaunay_triangulation_traits_3<CGAL::Epick>, CGAL::Periodic_3_triangulation_ds_cell_base_3<void> >, CGAL::Sequential_tag>; CGAL::Periodic_3_triangulation_3<GT, TDS>::Vertex_handle = CGAL::internal::CC_iterator<CGAL::Compact_container<CGAL::Triangulation_vertex_base_3<CGAL::Periodic_3_Delaunay_triangulation_traits_3<CGAL::Epick>, CGAL::Periodic_3_triangulation_ds_vertex_base_3<CGAL::Triangulation_data_structure_3<CGAL::Triangulation_vertex_base_3<CGAL::Periodic_3_Delaunay_triangulation_traits_3<CGAL::Epick>, CGAL::Periodic_3_triangulation_ds_vertex_base_3<void> >, CGAL::Triangulation_cell_base_3<CGAL::Periodic_3_Delaunay_triangulation_traits_3<CGAL::Epick>, CGAL::Periodic_3_triangulation_ds_cell_base_3<void> >, CGAL::Sequential_tag>
, CGAL::Default, CGAL::Default, CGAL::Default>, false>; CGAL::Periodic_3_triangulation_3<GT, TDS>::Point = CGAL::Point_3<CGAL::Epick>; CGAL::Periodic_3_triangulation_3<GT, TDS>::Offset = CGAL::Periodic_3_offset_3; CGAL::Periodic_3_triangulation_3<GT, TDS>::Cell_handle = CGAL::internal::CC_iterator<CGAL::Compact_container<CGAL::Triangulation_cell_base_3<CGAL::Periodic_3_Delaunay_triangulation_traits_3<CGAL::Epick>, CGAL::Periodic_3_triangulation_ds_cell_base_3<CGAL::Triangulation_data_structure_3<CGAL::Triangulation_vertex_base_3<CGAL::Periodic_3_Delaunay_triangulation_traits_3<CGAL::Epick>, CGAL::Periodic_3_triangulation_ds_vertex_base_3<void> >, CGAL::Triangulation_cell_base_3<CGAL::Periodic_3_Delaunay_triangulation_traits_3<CGAL::Epick>, CGAL::Periodic_3_triangulation_ds_cell_base_3<void> >, CGAL::Sequential_tag> , CGAL::Default, CGAL::Default, CGAL::Default>, false>]’: /home/pmj27/anaconda2/include/CGAL/Periodic_3_triangulation_3.h:2553:37: required from ‘CGAL::Periodic_3_triangulation_3<GT, TDS>::Vertex_handle CGAL::Periodic_3_triangulation_3<GT, TDS>::insert_in_conflict(const Point&, CGAL::Periodic_3_triangulation_3<GT, TDS>::Locate_type, CGAL::Periodic_3_triangulation_3<GT, TDS>::Cell_handle, int, int, const Conflict_tester&, Point_hider&) [with Conflict_tester = CGAL::Periodic_3_Delaunay_triangulation_3<CGAL::Periodic_3_Delaunay_triangulation_traits_3<CGAL::Epick> ::Conflict_tester; Point_hider = CGAL::Periodic_3_Delaunay_triangulation_3<CGAL::Periodic_3_Delaunay_triangulation_traits_3<CGAL::Epick> ::Point_hider; GT = CGAL::Periodic_3_Delaunay_triangulation_traits_3<CGAL::Epick>; TDS = CGAL::Triangulation_data_structure_3<CGAL::Triangulation_vertex_base_3<CGAL::Periodic_3_Delaunay_triangulation_traits_3<CGAL::Epick>, CGAL::Periodic_3_triangulation_ds_vertex_base_3<void> >, CGAL::Triangulation_cell_base_3<CGAL::Periodic_3_Delaunay_triangulation_traits_3<CGAL::Epick>, CGAL::Periodic_3_triangulation_ds_cell_base_3<void> >, CGAL::Sequential_tag>; CGAL::Periodic_3_triangulation_3<GT, TDS>::Vertex_handle = CGAL::internal::CC_iterator<CGAL::Compact_container<CGAL::Triangulation_vertex_base_3<CGAL::Periodic_3_Delaunay_triangulation_traits_3<CGAL::Epick>, CGAL::Periodic_3_triangulation_ds_vertex_base_3<CGAL::Triangulation_data_structure_3<CGAL::Triangulation_vertex_base_3<CGAL::Periodic_3_Delaunay_triangulation_traits_3<CGAL::Epick>, CGAL::Periodic_3_triangulation_ds_vertex_base_3<void> >, CGAL::Triangulation_cell_base_3<CGAL::Periodic_3_Delaunay_triangulation_traits_3<CGAL::Epick>, CGAL::Periodic_3_triangulation_ds_cell_base_3<void> >, CGAL::Sequential_tag> , CGAL::Default, CGAL::Default, CGAL::Default>, false>; CGAL::Periodic_3_triangulation_3<GT, TDS>::Point = CGAL::Point_3<CGAL::Epick>; CGAL::Periodic_3_triangulation_3<GT, TDS>::Cell_handle = CGAL::internal::CC_iterator<CGAL::Compact_container<CGAL::Triangulation_cell_base_3<CGAL::Periodic_3_Delaunay_triangulation_traits_3<CGAL::Epick>, CGAL::Periodic_3_triangulation_ds_cell_base_3<CGAL::Triangulation_data_structure_3<CGAL::Triangulation_vertex_base_3<CGAL::Periodic_3_Delaunay_triangulation_traits_3<CGAL::Epick>, CGAL::Periodic_3_triangulation_ds_vertex_base_3<void> >, CGAL::Triangulation_cell_base_3<CGAL::Periodic_3_Delaunay_triangulation_traits_3<CGAL::Epick>, CGAL::Periodic_3_triangulation_ds_cell_base_3<void> >, CGAL::Sequential_tag> , CGAL::Default, CGAL::Default, CGAL::Default>, false>]’ /home/pmj27/anaconda2/include/CGAL/Periodic_3_triangulation_3.h:1000:30: required from ‘CGAL::Periodic_3_triangulation_3<GT, TDS>::Vertex_handle CGAL::Periodic_3_triangulation_3<GT, TDS>::insert_in_conflict(const Point&, CGAL::Periodic_3_triangulation_3<GT, TDS>::Cell_handle, const Conflict_tester&, Point_hider&) [with Conflict_tester = CGAL::Periodic_3_Delaunay_triangulation_3<CGAL::Periodic_3_Delaunay_triangulation_traits_3<CGAL::Epick> ::Conflict_tester; Point_hider = CGAL::Periodic_3_Delaunay_triangulation_3<CGAL::Periodic_3_Delaunay_triangulation_traits_3<CGAL::Epick> ::Point_hider; GT = CGAL::Periodic_3_Delaunay_triangulation_traits_3<CGAL::Epick>; TDS = CGAL::Triangulation_data_structure_3<CGAL::Triangulation_vertex_base_3<CGAL::Periodic_3_Delaunay_triangulation_traits_3<CGAL::Epick>, CGAL::Periodic_3_triangulation_ds_vertex_base_3<void> >, CGAL::Triangulation_cell_base_3<CGAL::Periodic_3_Delaunay_triangulation_traits_3<CGAL::Epick>, CGAL::Periodic_3_triangulation_ds_cell_base_3<void> >, CGAL::Sequential_tag>; CGAL::Periodic_3_triangulation_3<GT, TDS>::Vertex_handle = CGAL::internal::CC_iterator<CGAL::Compact_container<CGAL::Triangulation_vertex_base_3<CGAL::Periodic_3_Delaunay_triangulation_traits_3<CGAL::Epick>, CGAL::Periodic_3_triangulation_ds_vertex_base_3<CGAL::Triangulation_data_structure_3<CGAL::Triangulation_vertex_base_3<CGAL::Periodic_3_Delaunay_triangulation_traits_3<CGAL::Epick>, CGAL::Periodic_3_triangulation_ds_vertex_base_3<void> >, CGAL::Triangulation_cell_base_3<CGAL::Periodic_3_Delaunay_triangulation_traits_3<CGAL::Epick>, CGAL::Periodic_3_triangulation_ds_cell_base_3<void> >, CGAL::Sequential_tag> , CGAL::Default, CGAL::Default, CGAL::Default>, false>; CGAL::Periodic_3_triangulation_3<GT, TDS>::Point = CGAL::Point_3<CGAL::Epick>; CGAL::Periodic_3_triangulation_3<GT, TDS>::Cell_handle = CGAL::internal::CC_iterator<CGAL::Compact_container<CGAL::Triangulation_cell_base_3<CGAL::Periodic_3_Delaunay_triangulation_traits_3<CGAL::Epick>, CGAL::Periodic_3_triangulation_ds_cell_base_3<CGAL::Triangulation_data_structure_3<CGAL::Triangulation_vertex_base_3<CGAL::Periodic_3_Delaunay_triangulation_traits_3<CGAL::Epick>, CGAL::Periodic_3_triangulation_ds_vertex_base_3<void> >, CGAL::Triangulation_cell_base_3<CGAL::Periodic_3_Delaunay_triangulation_traits_3<CGAL::Epick>, CGAL::Periodic_3_triangulation_ds_cell_base_3<void> >, CGAL::Sequential_tag> , CGAL::Default, CGAL::Default, CGAL::Default>, false>]’ /home/pmj27/anaconda2/include/CGAL/Periodic_3_Delaunay_triangulation_3.h:176:36: required from ‘CGAL::Periodic_3_Delaunay_triangulation_3<Gt, Tds>::Vertex_handle CGAL::Periodic_3_Delaunay_triangulation_3<Gt, Tds>::insert(const Point&, CGAL::Periodic_3_Delaunay_triangulation_3<Gt, Tds>::Cell_handle) [with Gt = CGAL::Periodic_3_Delaunay_triangulation_traits_3<CGAL::Epick>; Tds = CGAL::Triangulation_data_structure_3<CGAL::Triangulation_vertex_base_3<CGAL::Periodic_3_Delaunay_triangulation_traits_3<CGAL::Epick>, CGAL::Periodic_3_triangulation_ds_vertex_base_3<void> >, CGAL::Triangulation_cell_base_3<CGAL::Periodic_3_Delaunay_triangulation_traits_3<CGAL::Epick>, CGAL::Periodic_3_triangulation_ds_cell_base_3<void> >, CGAL::Sequential_tag>; CGAL::Periodic_3_Delaunay_triangulation_3<Gt, Tds>::Vertex_handle = CGAL::internal::CC_iterator<CGAL::Compact_container<CGAL::Triangulation_vertex_base_3<CGAL::Periodic_3_Delaunay_triangulation_traits_3<CGAL::Epick>, CGAL::Periodic_3_triangulation_ds_vertex_base_3<CGAL::Triangulation_data_structure_3<CGAL::Triangulation_vertex_base_3<CGAL::Periodic_3_Delaunay_triangulation_traits_3<CGAL::Epick>, CGAL::Periodic_3_triangulation_ds_vertex_base_3<void> >, CGAL::Triangulation_cell_base_3<CGAL::Periodic_3_Delaunay_triangulation_traits_3<CGAL::Epick>, CGAL::Periodic_3_triangulation_ds_cell_base_3<void> >, CGAL::Sequential_tag> , CGAL::Default, CGAL::Default, CGAL::Default>, false>; CGAL::Periodic_3_Delaunay_triangulation_3<Gt, Tds>::Point = CGAL::Point_3<CGAL::Epick>; CGAL::Periodic_3_Delaunay_triangulation_3<Gt, Tds>::Cell_handle = CGAL::internal::CC_iterator<CGAL::Compact_container<CGAL::Triangulation_cell_base_3<CGAL::Periodic_3_Delaunay_triangulation_traits_3<CGAL::Epick>, CGAL::Periodic_3_triangulation_ds_cell_base_3<CGAL::Triangulation_data_structure_3<CGAL::Triangulation_vertex_base_3<CGAL::Periodic_3_Delaunay_triangulation_traits_3<CGAL::Epick>, CGAL::Periodic_3_triangulation_ds_vertex_base_3<void> >, CGAL::Triangulation_cell_base_3<CGAL::Periodic_3_Delaunay_triangulation_traits_3<CGAL::Epick>, CGAL::Periodic_3_triangulation_ds_cell_base_3<void> >, CGAL::Sequential_tag> , CGAL::Default, CGAL::Default, CGAL::Default>, false>]’ graph_triangulation.hh:117:24: required from ‘void graph_tool::get_triangulation<Triang, IsPeriodic>::operator()(Graph&, Points&, PosMap) const [with Graph = boost::undirected_adaptor<boost::adj_list<long unsigned int> >; Points = boost::multi_array_ref<double, 2ul>; PosMap = boost::checked_vector_property_map<std::vector<double>, boost::typed_identity_property_map<long unsigned int> >; Triang = CGAL::Periodic_3_Delaunay_triangulation_3<CGAL::Periodic_3_Delaunay_triangulation_traits_3<CGAL::Epick> ; IsPeriodic = std::integral_constant<bool, true>]’ graph_triangulation.cc:103:42: required from here /home/pmj27/anaconda2/include/CGAL/Periodic_3_triangulation_3.h:2164:17: warning: unused parameter ‘lt’ [-Wunused-parameter] Locate_type lt, Cell_handle c, const Conflict_tester &tester, ^ Makefile:562: recipe for target 'graph_triangulation.lo' failed make[4]: *** [graph_triangulation.lo] Error 1 make[4]: *** Waiting for unfinished jobs....
[warnings about unused definitions] ^ make[4]: Leaving directory '/home/pmj27/graph-tool/src/graph/generation' Makefile:740: recipe for target 'all-recursive' failed make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory '/home/pmj27/graph-tool/src/graph' Makefile:419: recipe for target 'all-recursive' failed make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory '/home/pmj27/graph-tool/src' Makefile:591: recipe for target 'all-recursive' failed make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory '/home/pmj27/graph-tool' Makefile:478: recipe for target 'all' failed make: *** [all] Error 2 -- View this message in context: http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com/... Sent from the Main discussion list for the graph-tool project mailing list archive at Nabble.com.
On 24.02.2017 17:00, P-M wrote:
When running make I get an error however revolving around CGAL. Do you know what might be causing them?
When you copy and paste the error message in your email editor, it wraps long lines, making it very difficult to read. You should always attach outputs like this, not put them in the body of the message. What CGAL version do you have installed? -- Tiago de Paula Peixoto <tiago@skewed.de>
I have noticed that too. Does the output of `make` get routed to a file like it does for config.log? Or would I need to use console redirection? The system cgal seems to be version 4.7-4. The conda version is cgal 4.5 by ostrokach -- View this message in context: http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com/... Sent from the Main discussion list for the graph-tool project mailing list archive at Nabble.com.
On 24.02.2017 17:15, P-M wrote:
I have noticed that too. Does the output of `make` get routed to a file like it does for config.log? Or would I need to use console redirection?
You need to redirect.
The system cgal seems to be version 4.7-4. The conda version is cgal 4.5 by ostrokach
It seems like 4.5 is too old. Version 4.7 should work, however. -- Tiago de Paula Peixoto <tiago@skewed.de>
I have updated cgal to 4.7 so that now works and after applying the libreadline workaround it compiles and installs but I still get C++ signature mismatches. I have ripped off Anaconda entirely, re-installed it, installed the latest Boost in it using only one source to make sure all packages are compatible (conda-forge). Running "./configure --prefix=$HOME/.local CXX="g++-5" CXXFLAGS="-std=gnu++14 -Wno-unused-local-typedefs" PYTHON="/home/pmj27/anaconda2/bin/python2.7" CPPFLAGS="-I/home/pmj27/anaconda2/include" LDFLAGS="-L/home/pmj27/anaconda2/lib" --enable-openmp" seems to work and completes succesfully, however, the configuration summary prints "Boost CPP flags: -I/usr/include" which is not what I want and which I guess is causing my later problems? ================================================================================ CONFIGURATION SUMMARY ================================================================================ Using python version: 2.7.13 Python interpreter: /home/pmj27/anaconda2/bin/python2.7 Installation path: /home/pmj27/anaconda2/lib/python2.7/site-packages/graph_tool C++ compiler (CXX): g++-5 C++ compiler version: 5.4.0 Prefix: /home/pmj27/.local Pkgconfigdir: ${libdir}/pkgconfig Python CPP flags: -I/home/pmj27/anaconda2/include/python2.7 Python LD flags: -L/home/pmj27/anaconda2/lib -lpython2.7 Boost CPP flags: -I/usr/include Boost LD flags: -lboost_iostreams -lboost_python -lboost_regex -lboost_coroutine Numpy CPP flags: -I/home/pmj27/anaconda2/lib/python2.7/site-packages/numpy/core/include Sparsehash CPP flags: CGAL CPP flags: -I/usr/include CGAL LD flags: -L/usr/lib -lCGAL -lCGAL_Core -lgmp Expat CPP flags: -I/usr/include Expat LD flags: -L/usr/lib -lexpat Cairomm CPP flags: -std=c++11 -I/usr/include/cairomm-1.0 -I/usr/lib/x86_64-linux-gnu/cairomm-1.0/include -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/sigc++-2.0 -I/usr/lib/x86_64-linux-gnu/sigc++-2.0/include Cairomm LD flags: -lcairomm-1.0 -lcairo -lsigc-2.0 OpenMP compiler flags: -fopenmp OpenMP LD flags: Extra CPPFLAGS: -I/home/pmj27/anaconda2/include Extra CXXFLAGS: -fopenmp -O3 -fvisibility=default -fvisibility-inlines-hidden -Wno-deprecated -ftemplate-depth-250 -DNDEBUG -Wall -Wextra -ftemplate-backtrace-limit=0 -std=gnu++14 -Wno-unused-local-typedefs Extra LDFLAGS: -L/home/pmj27/anaconda2/lib Using OpenMP: yes Using sparsehash: yes Using cairo: yes ================================================================================ Is there any way of telling why it keeps defaulting back to using the boost in /usr/include and a way of making sure it doesn't do so? The config.log <http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com/file/n4027075/config.log> is attached. -- View this message in context: http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com/... Sent from the Main discussion list for the graph-tool project mailing list archive at Nabble.com.
In case it helps, I was able to build the graph-tool v2.20 conda package successfully using the recipe I put in this repo: https://gitlab.com/conda-forgery/graph-tool. I uploaded the package to the conda-forgery anaconda channel: https://anaconda.org/conda-forgery/graph-tool. You can find the conda recipe in the recipe <https://gitlab.com/conda-forgery/graph-tool/tree/master/recipe> folder and commands required to build the package in the .gitlab-ci.yml <https://gitlab.com/conda-forgery/graph-tool/blob/master/.gitlab-ci.yml> file. The package is built using the same linux-anvil <https://hub.docker.com/r/condaforge/linux-anvil/> docker container that is used to build conda-forge packages. Most of the dependencies are available in the conda-forge channel, but you also need to add the conda-forgery channel (I should probably come up with a better name) in order to install pycairo. Note that this builds graph-tool without graphics support. Graphis support requires too many dependencies that I had difficulty compiling from source. On Tue, Feb 28, 2017 at 1:12 PM, P-M <pmj27@cam.ac.uk> wrote: I have updated cgal to 4.7 so that now works and after applying the
libreadline workaround it compiles and installs but I still get C++ signature mismatches.
I have ripped off Anaconda entirely, re-installed it, installed the latest Boost in it using only one source to make sure all packages are compatible (conda-forge). Running "./configure --prefix=$HOME/.local CXX="g++-5" CXXFLAGS="-std=gnu++14 -Wno-unused-local-typedefs" PYTHON="/home/pmj27/anaconda2/bin/python2.7" CPPFLAGS="-I/home/pmj27/anaconda2/include" LDFLAGS="-L/home/pmj27/anaconda2/lib" --enable-openmp" seems to work and completes succesfully, however, the configuration summary prints "Boost CPP flags: -I/usr/include" which is not what I want and which I guess is causing my later problems? ============================================================ ==================== CONFIGURATION SUMMARY ============================================================ ==================== Using python version: 2.7.13 Python interpreter: /home/pmj27/anaconda2/bin/python2.7 Installation path: /home/pmj27/anaconda2/lib/python2.7/site-packages/graph_tool
C++ compiler (CXX): g++-5 C++ compiler version: 5.4.0
Prefix: /home/pmj27/.local Pkgconfigdir: ${libdir}/pkgconfig
Python CPP flags: -I/home/pmj27/anaconda2/include/python2.7 Python LD flags: -L/home/pmj27/anaconda2/lib -lpython2.7 Boost CPP flags: -I/usr/include Boost LD flags: -lboost_iostreams -lboost_python -lboost_regex -lboost_coroutine Numpy CPP flags: -I/home/pmj27/anaconda2/lib/python2.7/site-packages/numpy/core/include Sparsehash CPP flags: CGAL CPP flags: -I/usr/include CGAL LD flags: -L/usr/lib -lCGAL -lCGAL_Core -lgmp Expat CPP flags: -I/usr/include Expat LD flags: -L/usr/lib -lexpat Cairomm CPP flags: -std=c++11 -I/usr/include/cairomm-1.0 -I/usr/lib/x86_64-linux-gnu/cairomm-1.0/include -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/sigc++-2.0 -I/usr/lib/x86_64-linux-gnu/sigc++-2.0/include Cairomm LD flags: -lcairomm-1.0 -lcairo -lsigc-2.0 OpenMP compiler flags: -fopenmp OpenMP LD flags: Extra CPPFLAGS: -I/home/pmj27/anaconda2/include Extra CXXFLAGS: -fopenmp -O3 -fvisibility=default -fvisibility-inlines-hidden -Wno-deprecated -ftemplate-depth-250 -DNDEBUG -Wall -Wextra -ftemplate-backtrace-limit=0 -std=gnu++14 -Wno-unused-local-typedefs Extra LDFLAGS: -L/home/pmj27/anaconda2/lib
Using OpenMP: yes Using sparsehash: yes Using cairo: yes ============================================================ ====================
Is there any way of telling why it keeps defaulting back to using the boost in /usr/include and a way of making sure it doesn't do so? The config.log <http://main-discussion-list-for-the-graph-tool-project.9824 80.n3.nabble.com/file/n4027075/config.log> is attached.
-- View this message in context: http://main-discussion-list-fo r-the-graph-tool-project.982480.n3.nabble.com/Boost-Python- ArgumentError-Python-argument-types-did-not-match-C- signature-tp4027056p4027075.html Sent from the Main discussion list for the graph-tool project mailing list archive at Nabble.com. _______________________________________________ graph-tool mailing list graph-tool@skewed.de https://lists.skewed.de/mailman/listinfo/graph-tool
Thank you, I have had a look at your channel! The reason I am trying to compile it is so that I can quickly react to bug fixes implemented in the git version which isn't possible using packages compiled by somebody else as I depend on their schedules then. I have also dug around a bit more and am using "./configure --prefix=$HOME/.local --with-boost=/home/pmj27/anaconda2 CXX="g++-5" CXXFLAGS="-std=gnu++14 -Wno-unused-local-typedefs" PYTHON="/home/pmj27/anaconda2/bin/python2.7" CPPFLAGS="-I/home/pmj27/anaconda2/include" LDFLAGS="-L/home/pmj27/anaconda2/lib" --enable-openmp". This returns me a configuration summary that finally looks like what I would expect referencing the anaconda boost verion: ================================================================================ CONFIGURATION SUMMARY ================================================================================ Using python version: 2.7.13 Python interpreter: /home/pmj27/anaconda2/bin/python2.7 Installation path: /home/pmj27/anaconda2/lib/python2.7/site-packages/graph_tool C++ compiler (CXX): g++-5 C++ compiler version: 5.4.0 Prefix: /home/pmj27/.local Pkgconfigdir: ${libdir}/pkgconfig Python CPP flags: -I/home/pmj27/anaconda2/include/python2.7 Python LD flags: -L/home/pmj27/anaconda2/lib -lpython2.7 Boost CPP flags: -I/home/pmj27/anaconda2/include Boost LD flags: -lboost_iostreams -lboost_python -lboost_regex -lboost_coroutine Numpy CPP flags: -I/home/pmj27/anaconda2/lib/python2.7/site-packages/numpy/core/include Sparsehash CPP flags: CGAL CPP flags: -I/usr/include CGAL LD flags: -L/usr/lib -lCGAL -lCGAL_Core -lgmp Expat CPP flags: -I/usr/include Expat LD flags: -L/usr/lib -lexpat Cairomm CPP flags: -std=c++11 -I/usr/include/cairomm-1.0 -I/usr/lib/x86_64-linux-gnu/cairomm-1.0/include -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/sigc++-2.0 -I/usr/lib/x86_64-linux-gnu/sigc++-2.0/include Cairomm LD flags: -lcairomm-1.0 -lcairo -lsigc-2.0 OpenMP compiler flags: -fopenmp OpenMP LD flags: Extra CPPFLAGS: -I/home/pmj27/anaconda2/include Extra CXXFLAGS: -fopenmp -O3 -fvisibility=default -fvisibility-inlines-hidden -Wno-deprecated -ftemplate-depth-250 -DNDEBUG -Wall -Wextra -ftemplate-backtrace-limit=0 -std=gnu++14 -Wno-unused-local-typedefs Extra LDFLAGS: -L/home/pmj27/anaconda2/lib Using OpenMP: yes Using sparsehash: yes Using cairo: yes ================================================================================ config.log <http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com/file/n4027077/config.log> is attached. However, when running make I run into an error proclaiming: "make[4]: Entering directory '/home/pmj27/graph-tool/src/graph/topology' CXX graph_isomorphism.lo CXX graph_transitive_closure.lo CXX graph_tsp.lo CXX graph_vertex_similarity.lo In file included from graph_tsp.cc:22:0: /home/pmj27/anaconda2/include/boost/graph/metric_tsp_approx.hpp: In instantiation of ‘boost::TSPVertexVisitorConcept<Visitor, Graph>::~TSPVertexVisitorConcept() [with Visitor = boost::tsp_tour_visitor<std::back_insert_iterator<std::vector<int> >
; Graph = boost::undirected_adaptor<boost::adj_list<long unsigned int> ]’: /home/pmj27/anaconda2/include/boost/concept/detail/general.hpp:39:28: required from ‘static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::TSPVertexVisitorConcept<boost::tsp_tour_visitor<std::back_insert_iterator<std::vector<int>
, boost::undirected_adaptor<boost::adj_list<long unsigned int> > >]’
etc etc Makefile:571: recipe for target 'graph_isomorphism.lo' failed make[4]: *** [graph_isomorphism.lo] Error 1 make[4]: Leaving directory '/home/pmj27/graph-tool/src/graph/topology' Makefile:740: recipe for target 'all-recursive' failed make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory '/home/pmj27/graph-tool/src/graph' Makefile:419: recipe for target 'all-recursive' failed make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory '/home/pmj27/graph-tool/src' Makefile:591: recipe for target 'all-recursive' failed make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory '/home/pmj27/graph-tool' Makefile:478: recipe for target 'all' failed make: *** [all] Error 2" I have attached the screengrab for the entire error message here: screengrab.dat <http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com/file/n4027077/screengrab.dat> Does anybody know what this is caused by/how I could solve it? Best, Philipp -- View this message in context: http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com/... Sent from the Main discussion list for the graph-tool project mailing list archive at Nabble.com.
`conda list` returns `boost 1.63.0 np112py27_6 conda-forge`. That should be about as up-to-date as it gets. -- View this message in context: http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com/... Sent from the Main discussion list for the graph-tool project mailing list archive at Nabble.com.
That is strange indeed. I have downgraded to the anaconda version of boost (v1.60) and boost-python (v1.60) by sseefeld. The configure commands are unchanged as ./configure --prefix=$HOME/.local --with-boost=/home/pmj27/anaconda2 CXX="g++-5" CXXFLAGS="-std=gnu++14 -Wno-unused-local-typedefs" PYTHON="/home/pmj27/anaconda2/bin/python2.7" CPPFLAGS="-I/home/pmj27/anaconda2/include" LDFLAGS="-L/home/pmj27/anaconda2/lib" --enable-openmp which seems to still run happily ( config.log <http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com/file/n4027082/config.log> ) but during make this boost configuration also complains, albeit differently ( screengrab.dat <http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com/file/n4027082/screengrab.dat> ). Is there any way of narrowing down the root of the error? Best, Philipp -- View this message in context: http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com/... Sent from the Main discussion list for the graph-tool project mailing list archive at Nabble.com.
On 02.03.2017 16:21, P-M wrote:
That is strange indeed. I have downgraded to the anaconda version of boost (v1.60) and boost-python (v1.60) by sseefeld. The configure commands are unchanged as ./configure --prefix=$HOME/.local --with-boost=/home/pmj27/anaconda2 CXX="g++-5" CXXFLAGS="-std=gnu++14 -Wno-unused-local-typedefs" PYTHON="/home/pmj27/anaconda2/bin/python2.7" CPPFLAGS="-I/home/pmj27/anaconda2/include" LDFLAGS="-L/home/pmj27/anaconda2/lib" --enable-openmp which seems to still run happily ( config.log <http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com/file/n4027082/config.log> ) but during make this boost configuration also complains, albeit differently ( screengrab.dat <http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com/file/n4027082/screengrab.dat> ). Is there any way of narrowing down the root of the error?
Yes, the problem has to do with the order of the CPPFLAGS. I will be pushing a fix to git soon. -- Tiago de Paula Peixoto <tiago@skewed.de>
On 02.03.2017 16:21, P-M wrote:
That is strange indeed. I have downgraded to the anaconda version of boost (v1.60) and boost-python (v1.60) by sseefeld. The configure commands are unchanged as ./configure --prefix=$HOME/.local --with-boost=/home/pmj27/anaconda2 CXX="g++-5" CXXFLAGS="-std=gnu++14 -Wno-unused-local-typedefs" PYTHON="/home/pmj27/anaconda2/bin/python2.7" CPPFLAGS="-I/home/pmj27/anaconda2/include" LDFLAGS="-L/home/pmj27/anaconda2/lib" --enable-openmp which seems to still run happily ( config.log <http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com/file/n4027082/config.log> ) but during make this boost configuration also complains, albeit differently ( screengrab.dat <http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com/file/n4027082/screengrab.dat> ). Is there any way of narrowing down the root of the error?
Can you give me the full output of 'make V=1'? -- Tiago de Paula Peixoto <tiago@skewed.de>
Great, thanks! Here is the output of "make V=1 2>&1 | tee ./screengrab.dat" rerunning it after the error had occured ( screengrab.dat <http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com/file/n4027085/screengrab.dat> ). If you would like the output for an entirely new compilation let me know and I shall get that to you, it might just take a little while longer to run. -- View this message in context: http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com/... Sent from the Main discussion list for the graph-tool project mailing list archive at Nabble.com.
On 02.03.2017 17:29, P-M wrote:
Great, thanks! Here is the output of "make V=1 2>&1 | tee ./screengrab.dat" rerunning it after the error had occured ( screengrab.dat <http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com/file/n4027085/screengrab.dat> ). If you would like the output for an entirely new compilation let me know and I shall get that to you, it might just take a little while longer to run.
Please try the current git version. -- Tiago de Paula Peixoto <tiago@skewed.de>
It seems to still fail I fear. The screen output is huge but in the attached file ( screengrab1.zip <http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com/file/n4027087/screengrab1.zip> ) you seem to be able to find the relevant error between lines 6824 and 7952. -- View this message in context: http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com/... Sent from the Main discussion list for the graph-tool project mailing list archive at Nabble.com.
Sorry, here is a more manageable file ( screengrab2.dat <http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com/file/n4027088/screengrab2.dat> ) . I reran the failed make to get only the faulty bit with V=1. Do you have any thoughts on why it is still failing? -- View this message in context: http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com/... Sent from the Main discussion list for the graph-tool project mailing list archive at Nabble.com.
Similar error on a different sysyem. I ran ./configure 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 --with-boost=/home/pmj27/anaconda2 so didn't have any CPPFLAGS During make it crashes at the same spot it seems ( screengrab3.dat <http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com/file/n4027089/screengrab3.dat> ). I am running boost 1.63.0 conda-forge. -- View this message in context: http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com/... Sent from the Main discussion list for the graph-tool project mailing list archive at Nabble.com.
On 02.03.2017 20:53, P-M wrote:
Similar error on a different sysyem. I ran ./configure 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 --with-boost=/home/pmj27/anaconda2 so didn't have any CPPFLAGS
During make it crashes at the same spot it seems ( screengrab3.dat <http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com/file/n4027089/screengrab3.dat> ). I am running boost 1.63.0 conda-forge.
Please try once more with current git. If it does not work, please open n issue, so we don't overload the mailing list with another wack-a-mole. -- Tiago de Paula Peixoto <tiago@skewed.de>
This now compiles and works on one of my machines. My other machine now complains about libicudata.so.56: 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 111, in <module> dl_import("from . import libgraph_tool_core as libcore") File "/home/pmj27/anaconda2/lib/python2.7/site-packages/graph_tool/dl_import.py", line 61, in dl_import exec(import_expr, local_dict, global_dict) File "<string>", line 1, in <module> ImportError: libicudata.so.56: cannot open shared object file: No such file or directory This may be an anaconda issue but I am not sure. Do you have any thoughts on this? I will open a ticket for this so we can close this thread down. -- View this message in context: http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com/... Sent from the Main discussion list for the graph-tool project mailing list archive at Nabble.com.
On 03.03.2017 12:38, P-M wrote:
This now compiles and works on one of my machines. My other machine now complains about libicudata.so.56:
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 111, in <module> dl_import("from . import libgraph_tool_core as libcore") File "/home/pmj27/anaconda2/lib/python2.7/site-packages/graph_tool/dl_import.py", line 61, in dl_import exec(import_expr, local_dict, global_dict) File "<string>", line 1, in <module> ImportError: libicudata.so.56: cannot open shared object file: No such file or directory
This may be an anaconda issue but I am not sure. Do you have any thoughts on this? I will open a ticket for this so we can close this thread down.
This is not a bug in graph-tool. The linker cannot find that library. You have to find where that is, and put its path into the LD_LIBRARY_PATH environment variable. Or pass it as "-Wl,-rpath=", as explained in the documentation. -- Tiago de Paula Peixoto <tiago@skewed.de>
participants (3)
-
Alexey Strokach -
P-M -
Tiago de Paula Peixoto