Closed Apteryks closed 1 year ago
Hi,
After updating igraph to 0.10.4 in GNU Guix, the build of python-louvain 0.7.1 fails like:
src/louvain/GraphHelper.cpp:378:37: error: cannot convert ‘__gnu_cxx::__alloc_traits<std::allocator<double>, double>::value_type*’ {aka ‘double*’} to ‘const igraph_vector_t*’ 378 | igraph_vector_init_copy(&weights, &this->_edge_weights[0], this->ecount()); In file included from /gnu/store/0qr539d4glkdxbx5r42xcb3y4g0zinfg-igraph-0.10.4/include/igraph/igraph_vector.h:71, from /gnu/store/0qr539d4glkdxbx5r42xcb3y4g0zinfg-igraph-0.10.4/include/igraph/igraph_random.h:29, from /gnu/store/0qr539d4glkdxbx5r42xcb3y4g0zinfg-igraph-0.10.4/include/igraph/igraph.h:34, from include/GraphHelper.h:4, from src/louvain/GraphHelper.cpp:1: /gnu/store/0qr539d4glkdxbx5r42xcb3y4g0zinfg-igraph-0.10.4/include/igraph/igraph_vector_pmt.h:33:61: note: initializing argument 2 of ‘igraph_error_t igraph_vector_init_copy(igraph_vector_t*, const igraph_vector_t*)’ 33 | TYPE(igraph_vector) *to, const TYPE(igraph_vector) *from); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~ src/louvain/GraphHelper.cpp:393:37: error: cannot convert ‘__gnu_cxx::__alloc_traits<std::allocator<double>, double>::value_type*’ {aka ‘double*’} to ‘const igraph_vector_t*’ 393 | igraph_vector_init_copy(&weights, &this->_edge_weights[0], this->ecount()); In file included from /gnu/store/0qr539d4glkdxbx5r42xcb3y4g0zinfg-igraph-0.10.4/include/igraph/igraph_vector.h:71, from /gnu/store/0qr539d4glkdxbx5r42xcb3y4g0zinfg-igraph-0.10.4/include/igraph/igraph_random.h:29, from /gnu/store/0qr539d4glkdxbx5r42xcb3y4g0zinfg-igraph-0.10.4/include/igraph/igraph.h:34, from include/GraphHelper.h:4, from src/louvain/GraphHelper.cpp:1: /gnu/store/0qr539d4glkdxbx5r42xcb3y4g0zinfg-igraph-0.10.4/include/igraph/igraph_vector_pmt.h:33:61: note: initializing argument 2 of ‘igraph_error_t igraph_vector_init_copy(igraph_vector_t*, const igraph_vector_t*)’ 33 | TYPE(igraph_vector) *to, const TYPE(igraph_vector) *from); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~ src/louvain/GraphHelper.cpp:407:31: error: cannot convert ‘igraph_vector_t*’ to ‘igraph_vector_int_t*’ 407 | igraph_degree(this->_graph, &res, igraph_vss_all(), IGRAPH_IN, true); | ^~~~ | | | igraph_vector_t* In file included from /gnu/store/0qr539d4glkdxbx5r42xcb3y4g0zinfg-igraph-0.10.4/include/igraph/igraph.h:57, from include/GraphHelper.h:4, from src/louvain/GraphHelper.cpp:1: /gnu/store/0qr539d4glkdxbx5r42xcb3y4g0zinfg-igraph-0.10.4/include/igraph/igraph_interface.h:59:88: note: initializing argument 2 of ‘igraph_error_t igraph_degree(const igraph_t*, igraph_vector_int_t*, igraph_vs_t, igraph_neimode_t, igraph_bool_t)’ 59 | IGRAPH_EXPORT igraph_error_t igraph_degree(const igraph_t *graph, igraph_vector_int_t *res, | ~~~~~~~~~~~~~~~~~~~~~^~~ src/louvain/GraphHelper.cpp:416:31: error: cannot convert ‘igraph_vector_t*’ to ‘igraph_vector_int_t*’ 416 | igraph_degree(this->_graph, &res, igraph_vss_all(), IGRAPH_OUT, true); | ^~~~ | | | igraph_vector_t* In file included from /gnu/store/0qr539d4glkdxbx5r42xcb3y4g0zinfg-igraph-0.10.4/include/igraph/igraph.h:57, from include/GraphHelper.h:4, from src/louvain/GraphHelper.cpp:1: /gnu/store/0qr539d4glkdxbx5r42xcb3y4g0zinfg-igraph-0.10.4/include/igraph/igraph_interface.h:59:88: note: initializing argument 2 of ‘igraph_error_t igraph_degree(const igraph_t*, igraph_vector_int_t*, igraph_vs_t, igraph_neimode_t, igraph_bool_t)’ 59 | IGRAPH_EXPORT igraph_error_t igraph_degree(const igraph_t *graph, igraph_vector_int_t *res, | ~~~~~~~~~~~~~~~~~~~~~^~~ src/louvain/GraphHelper.cpp:425:31: error: cannot convert ‘igraph_vector_t*’ to ‘igraph_vector_int_t*’ 425 | igraph_degree(this->_graph, &res, igraph_vss_all(), IGRAPH_ALL, true); | ^~~~ | | | igraph_vector_t* In file included from /gnu/store/0qr539d4glkdxbx5r42xcb3y4g0zinfg-igraph-0.10.4/include/igraph/igraph.h:57, from include/GraphHelper.h:4, from src/louvain/GraphHelper.cpp:1: /gnu/store/0qr539d4glkdxbx5r42xcb3y4g0zinfg-igraph-0.10.4/include/igraph/igraph_interface.h:59:88: note: initializing argument 2 of ‘igraph_error_t igraph_degree(const igraph_t*, igraph_vector_int_t*, igraph_vs_t, igraph_neimode_t, igraph_bool_t)’ 59 | IGRAPH_EXPORT igraph_error_t igraph_degree(const igraph_t *graph, igraph_vector_int_t *res, | ~~~~~~~~~~~~~~~~~~~~~^~~ src/louvain/GraphHelper.cpp: In member function ‘void Graph::cache_neighbour_edges(size_t, igraph_neimode_t)’: src/louvain/GraphHelper.cpp:471:33: error: cannot convert ‘igraph_vector_t*’ to ‘igraph_vector_int_t*’ 471 | igraph_incident(this->_graph, &incident_edges, v, mode); | ^~~~~~~~~~~~~~~ | | | igraph_vector_t* In file included from /gnu/store/0qr539d4glkdxbx5r42xcb3y4g0zinfg-igraph-0.10.4/include/igraph/igraph.h:57, from include/GraphHelper.h:4, from src/louvain/GraphHelper.cpp:1: /gnu/store/0qr539d4glkdxbx5r42xcb3y4g0zinfg-igraph-0.10.4/include/igraph/igraph_interface.h:74:90: note: initializing argument 2 of ‘igraph_error_t igraph_incident(const igraph_t*, igraph_vector_int_t*, igraph_integer_t, igraph_neimode_t)’ 74 | IGRAPH_EXPORT igraph_error_t igraph_incident(const igraph_t *graph, igraph_vector_int_t *eids, igraph_integer_t vid, | ~~~~~~~~~~~~~~~~~~~~~^~~~ src/louvain/GraphHelper.cpp:489:69: warning: ‘igraph_real_t* igraph_vector_e_ptr(const igraph_vector_t*, igraph_integer_t)’ is deprecated [-Wdeprecated-declarations] 489 | _cached_neigh_edges->assign(igraph_vector_e_ptr(&incident_edges, 0), | ^ In file included from /gnu/store/0qr539d4glkdxbx5r42xcb3y4g0zinfg-igraph-0.10.4/include/igraph/igraph_vector.h:70, from /gnu/store/0qr539d4glkdxbx5r42xcb3y4g0zinfg-igraph-0.10.4/include/igraph/igraph_random.h:29, from /gnu/store/0qr539d4glkdxbx5r42xcb3y4g0zinfg-igraph-0.10.4/include/igraph/igraph.h:34, from include/GraphHelper.h:4, from src/louvain/GraphHelper.cpp:1: /gnu/store/0qr539d4glkdxbx5r42xcb3y4g0zinfg-igraph-0.10.4/include/igraph/igraph_vector_pmt.h:73:48: note: declared here 73 | IGRAPH_EXPORT IGRAPH_DEPRECATED BASE* FUNCTION(igraph_vector, e_ptr)(const TYPE(igraph_vector)* v, igraph_integer_t pos); | ^~~~~~~~~~~~~ /gnu/store/0qr539d4glkdxbx5r42xcb3y4g0zinfg-igraph-0.10.4/include/igraph/igraph_pmt.h:24:23: note: in definition of macro ‘CONCAT2x’ 24 | #define CONCAT2x(a,b) a ## _ ## b | ^ /gnu/store/0qr539d4glkdxbx5r42xcb3y4g0zinfg-igraph-0.10.4/include/igraph/igraph_pmt.h:161:31: note: in expansion of macro ‘CONCAT2’ 161 | #define FUNCTION(a,c) CONCAT2(a,c) | ^~~~~~~ /gnu/store/0qr539d4glkdxbx5r42xcb3y4g0zinfg-igraph-0.10.4/include/igraph/igraph_vector_pmt.h:73:39: note: in expansion of macro ‘FUNCTION’ 73 | IGRAPH_EXPORT IGRAPH_DEPRECATED BASE* FUNCTION(igraph_vector, e_ptr)(const TYPE(igraph_vector)* v, igraph_integer_t pos); | ^~~~~~~~ src/louvain/GraphHelper.cpp:490:74: warning: ‘igraph_real_t* igraph_vector_e_ptr(const igraph_vector_t*, igraph_integer_t)’ is deprecated [-Wdeprecated-declarations] 490 | igraph_vector_e_ptr(&incident_edges, degree)); | ^ In file included from /gnu/store/0qr539d4glkdxbx5r42xcb3y4g0zinfg-igraph-0.10.4/include/igraph/igraph_vector.h:70, from /gnu/store/0qr539d4glkdxbx5r42xcb3y4g0zinfg-igraph-0.10.4/include/igraph/igraph_random.h:29, from /gnu/store/0qr539d4glkdxbx5r42xcb3y4g0zinfg-igraph-0.10.4/include/igraph/igraph.h:34, from include/GraphHelper.h:4, from src/louvain/GraphHelper.cpp:1: /gnu/store/0qr539d4glkdxbx5r42xcb3y4g0zinfg-igraph-0.10.4/include/igraph/igraph_vector_pmt.h:73:48: note: declared here 73 | IGRAPH_EXPORT IGRAPH_DEPRECATED BASE* FUNCTION(igraph_vector, e_ptr)(const TYPE(igraph_vector)* v, igraph_integer_t pos); | ^~~~~~~~~~~~~ /gnu/store/0qr539d4glkdxbx5r42xcb3y4g0zinfg-igraph-0.10.4/include/igraph/igraph_pmt.h:24:23: note: in definition of macro ‘CONCAT2x’ 24 | #define CONCAT2x(a,b) a ## _ ## b | ^ /gnu/store/0qr539d4glkdxbx5r42xcb3y4g0zinfg-igraph-0.10.4/include/igraph/igraph_pmt.h:161:31: note: in expansion of macro ‘CONCAT2’ 161 | #define FUNCTION(a,c) CONCAT2(a,c) | ^~~~~~~ /gnu/store/0qr539d4glkdxbx5r42xcb3y4g0zinfg-igraph-0.10.4/include/igraph/igraph_vector_pmt.h:73:39: note: in expansion of macro ‘FUNCTION’ 73 | IGRAPH_EXPORT IGRAPH_DEPRECATED BASE* FUNCTION(igraph_vector, e_ptr)(const TYPE(igraph_vector)* v, igraph_integer_t pos); | ^~~~~~~~ src/louvain/GraphHelper.cpp: In member function ‘void Graph::cache_neighbours(size_t, igraph_neimode_t)’: src/louvain/GraphHelper.cpp:550:34: error: cannot convert ‘igraph_vector_t*’ to ‘igraph_vector_int_t*’ 550 | igraph_neighbors(this->_graph, &neighbours, v, mode); | ^~~~~~~~~~~ | | | igraph_vector_t* In file included from /gnu/store/0qr539d4glkdxbx5r42xcb3y4g0zinfg-igraph-0.10.4/include/igraph/igraph.h:57, from include/GraphHelper.h:4, from src/louvain/GraphHelper.cpp:1: /gnu/store/0qr539d4glkdxbx5r42xcb3y4g0zinfg-igraph-0.10.4/include/igraph/igraph_interface.h:54:91: note: initializing argument 2 of ‘igraph_error_t igraph_neighbors(const igraph_t*, igraph_vector_int_t*, igraph_integer_t, igraph_neimode_t)’ 54 | IGRAPH_EXPORT igraph_error_t igraph_neighbors(const igraph_t *graph, igraph_vector_int_t *neis, igraph_integer_t vid, | ~~~~~~~~~~~~~~~~~~~~~^~~~ src/louvain/GraphHelper.cpp:568:60: warning: ‘igraph_real_t* igraph_vector_e_ptr(const igraph_vector_t*, igraph_integer_t)’ is deprecated [-Wdeprecated-declarations] 568 | _cached_neighs->assign(igraph_vector_e_ptr(&neighbours, 0),igraph_vector_e_ptr(&neighbours, degree)); | ^ In file included from /gnu/store/0qr539d4glkdxbx5r42xcb3y4g0zinfg-igraph-0.10.4/include/igraph/igraph_vector.h:70, from /gnu/store/0qr539d4glkdxbx5r42xcb3y4g0zinfg-igraph-0.10.4/include/igraph/igraph_random.h:29, from /gnu/store/0qr539d4glkdxbx5r42xcb3y4g0zinfg-igraph-0.10.4/include/igraph/igraph.h:34, from include/GraphHelper.h:4, from src/louvain/GraphHelper.cpp:1: /gnu/store/0qr539d4glkdxbx5r42xcb3y4g0zinfg-igraph-0.10.4/include/igraph/igraph_vector_pmt.h:73:48: note: declared here 73 | IGRAPH_EXPORT IGRAPH_DEPRECATED BASE* FUNCTION(igraph_vector, e_ptr)(const TYPE(igraph_vector)* v, igraph_integer_t pos); | ^~~~~~~~~~~~~ /gnu/store/0qr539d4glkdxbx5r42xcb3y4g0zinfg-igraph-0.10.4/include/igraph/igraph_pmt.h:24:23: note: in definition of macro ‘CONCAT2x’ 24 | #define CONCAT2x(a,b) a ## _ ## b | ^ /gnu/store/0qr539d4glkdxbx5r42xcb3y4g0zinfg-igraph-0.10.4/include/igraph/igraph_pmt.h:161:31: note: in expansion of macro ‘CONCAT2’ 161 | #define FUNCTION(a,c) CONCAT2(a,c) | ^~~~~~~ /gnu/store/0qr539d4glkdxbx5r42xcb3y4g0zinfg-igraph-0.10.4/include/igraph/igraph_vector_pmt.h:73:39: note: in expansion of macro ‘FUNCTION’ 73 | IGRAPH_EXPORT IGRAPH_DEPRECATED BASE* FUNCTION(igraph_vector, e_ptr)(const TYPE(igraph_vector)* v, igraph_integer_t pos); | ^~~~~~~~ src/louvain/GraphHelper.cpp:568:101: warning: ‘igraph_real_t* igraph_vector_e_ptr(const igraph_vector_t*, igraph_integer_t)’ is deprecated [-Wdeprecated-declarations] 568 | _cached_neighs->assign(igraph_vector_e_ptr(&neighbours, 0),igraph_vector_e_ptr(&neighbours, degree)); | ^ In file included from /gnu/store/0qr539d4glkdxbx5r42xcb3y4g0zinfg-igraph-0.10.4/include/igraph/igraph_vector.h:70, from /gnu/store/0qr539d4glkdxbx5r42xcb3y4g0zinfg-igraph-0.10.4/include/igraph/igraph_random.h:29, from /gnu/store/0qr539d4glkdxbx5r42xcb3y4g0zinfg-igraph-0.10.4/include/igraph/igraph.h:34, from include/GraphHelper.h:4, from src/louvain/GraphHelper.cpp:1: /gnu/store/0qr539d4glkdxbx5r42xcb3y4g0zinfg-igraph-0.10.4/include/igraph/igraph_vector_pmt.h:73:48: note: declared here 73 | IGRAPH_EXPORT IGRAPH_DEPRECATED BASE* FUNCTION(igraph_vector, e_ptr)(const TYPE(igraph_vector)* v, igraph_integer_t pos); | ^~~~~~~~~~~~~ /gnu/store/0qr539d4glkdxbx5r42xcb3y4g0zinfg-igraph-0.10.4/include/igraph/igraph_pmt.h:24:23: note: in definition of macro ‘CONCAT2x’ 24 | #define CONCAT2x(a,b) a ## _ ## b | ^ /gnu/store/0qr539d4glkdxbx5r42xcb3y4g0zinfg-igraph-0.10.4/include/igraph/igraph_pmt.h:161:31: note: in expansion of macro ‘CONCAT2’ 161 | #define FUNCTION(a,c) CONCAT2(a,c) | ^~~~~~~ /gnu/store/0qr539d4glkdxbx5r42xcb3y4g0zinfg-igraph-0.10.4/include/igraph/igraph_vector_pmt.h:73:39: note: in expansion of macro ‘FUNCTION’ 73 | IGRAPH_EXPORT IGRAPH_DEPRECATED BASE* FUNCTION(igraph_vector, e_ptr)(const TYPE(igraph_vector)* v, igraph_integer_t pos); | ^~~~~~~~ src/louvain/GraphHelper.cpp: In member function ‘Graph* Graph::collapse_graph(MutableVertexPartition*)’: src/louvain/GraphHelper.cpp:768:24: error: cannot convert ‘igraph_vector_t*’ to ‘const igraph_vector_int_t*’ 768 | igraph_create(graph, &edges, n_collapsed, this->is_directed()); | ^~~~~~ | | | igraph_vector_t* In file included from /gnu/store/0qr539d4glkdxbx5r42xcb3y4g0zinfg-igraph-0.10.4/include/igraph/igraph.h:58, from include/GraphHelper.h:4, from src/louvain/GraphHelper.cpp:1: /gnu/store/0qr539d4glkdxbx5r42xcb3y4g0zinfg-igraph-0.10.4/include/igraph/igraph_constructors.h:42:88: note: initializing argument 2 of ‘igraph_error_t igraph_create(igraph_t*, const igraph_vector_int_t*, igraph_integer_t, igraph_bool_t)’ 42 | IGRAPH_EXPORT igraph_error_t igraph_create(igraph_t *graph, const igraph_vector_int_t *edges, igraph_integer_t n, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ error: command '/gnu/store/069aq2v993kpc41yabp5b6vm4wb9jkhg-gcc-10.3.0/bin/gcc' failed with exit code 1 error: in phase 'build': uncaught exception: %exception #<&invoke-error program: "python" arguments: ("-c" "import setuptools, tokenize;__file__='setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\\r\\n', '\\n');f.close();exec(compile(code, __file__, 'exec'))" "build") exit-status: 1 term-signal: #f stop-signal: #f>
Thanks!
Ah nevermind, 0.7.1 is very old (we also have 0.16), and it seems igraph was dropped on the way. Nevermind!
Hi,
After updating igraph to 0.10.4 in GNU Guix, the build of python-louvain 0.7.1 fails like:
Thanks!