On 09/29/2013 03:18 AM, Tiago de Paula Peixoto wrote:
On 09/29/2013 12:05 AM, Mark Howell wrote:
On 09/28/2013 11:54 AM, Mark Howell wrote:
I am trying to use purge_vertices() with a vertex filter to efficiently
remove vertices from a graph. I am seeing different behavior in version
2.2.18 and 2.2.25, both as prebuilt packages for Ubuntu precise (current
"graph-tool" and "python-graph-tool" packages, respectively)


[snip]

Update... I built graph-tool from the 2.2.25 source tarball and ran
from that instead of the python-graph-tool 2.2.25-1 Precise deb
package, and my test code ran fine.

Wonder if there's some kind of dependency problem in the 2.2.25-1 Precise deb 
package?

FWIW I couldn't get 2.2.25 to build from source with the standard
Precise numpy package based on 1.6.1. I replaced that with numpy I
built from their 1.7.1 tarball and then was able to build graph-tool
successfully... after 2 hours of CPU time ;-)

Looking at the present python-graph-tool 2.2.25-1 precise package, it
depends on python-scipy (but no particular version or range specified)
and from there presumably depends indirectly on numpy. Maybe it is
willing to install with an older (1.6) numpy but is partially broken
with it?

This is strange... I definitely was able to build it with numpy 1.6,
otherwise how could I have made the packages?

I do see the same problem on precise, but nowhere else. This all does
sound like a nasty numpy compatibility thing, but it is not at all clear
what is going on. I'll have to take a closer look.

Cheers,
Tiago



Thx Tiago. A little more detail might help: when I tried to compile graph-tool 2.2.25 on Precise with the standard numpy 1.6.1 package, it died while building graph_closeness, complaining of undefined NPY_ARRAY_ALIGNED and brethren:

$ make
make  all-recursive
make[1]: Entering directory `/home/markh/Code/graph-tool-2.2.25'
Making all in src
make[2]: Entering directory `/home/markh/Code/graph-tool-2.2.25/src'
Making all in graph
make[3]: Entering directory `/home/markh/Code/graph-tool-2.2.25/src/graph'
Making all in centrality
make[4]: Entering directory `/home/markh/Code/graph-tool-2.2.25/src/graph/centrality'
  CXX    graph_betweenness.lo
  CXX    graph_centrality_bind.lo
  CXX    graph_closeness.lo
In file included from graph_closeness.hh:29:0,
                 from graph_closeness.cc:23:
./../numpy_bind.hh: In function 'boost::python::api::object wrap_vector_owned(std::vector<ValueType>&)': ./../numpy_bind.hh:78:34: error: 'NPY_ARRAY_ALIGNED' was not declared in this scope ./../numpy_bind.hh:78:54: error: 'NPY_ARRAY_C_CONTIGUOUS' was not declared in this scope ./../numpy_bind.hh:79:25: error: 'NPY_ARRAY_OWNDATA' was not declared in this scope ./../numpy_bind.hh:79:45: error: 'NPY_ARRAY_WRITEABLE' was not declared in this scope ./../numpy_bind.hh:79:64: error: there are no arguments to 'PyArray_ENABLEFLAGS' that depend on a template parameter, so a declaration of 'PyArray_ENABLEFLAGS' must be available [-fpermissive] ./../numpy_bind.hh:79:64: note: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated) ./../numpy_bind.hh: In function 'boost::python::api::object wrap_vector_not_owned(std::vector<ValueType>&)': ./../numpy_bind.hh:96:33: error: 'NPY_ARRAY_ALIGNED' was not declared in this scope ./../numpy_bind.hh:96:53: error: 'NPY_ARRAY_C_CONTIGUOUS' was not declared in this scope ./../numpy_bind.hh:97:25: error: 'NPY_ARRAY_WRITEABLE' was not declared in this scope ./../numpy_bind.hh:97:44: error: there are no arguments to 'PyArray_ENABLEFLAGS' that depend on a template parameter, so a declaration of 'PyArray_ENABLEFLAGS' must be available [-fpermissive] ./../numpy_bind.hh: In function 'boost::python::api::object wrap_multi_array_owned(boost::multi_array<ValueType, Dim>&)': ./../numpy_bind.hh:116:34: error: 'NPY_ARRAY_ALIGNED' was not declared in this scope ./../numpy_bind.hh:116:54: error: 'NPY_ARRAY_C_CONTIGUOUS' was not declared in this scope ./../numpy_bind.hh:117:25: error: 'NPY_ARRAY_OWNDATA' was not declared in this scope ./../numpy_bind.hh:117:45: error: 'NPY_ARRAY_WRITEABLE' was not declared in this scope ./../numpy_bind.hh:117:64: error: there are no arguments to 'PyArray_ENABLEFLAGS' that depend on a template parameter, so a declaration of 'PyArray_ENABLEFLAGS' must be available [-fpermissive] ./../numpy_bind.hh: In function 'boost::python::api::object wrap_multi_array_not_owned(boost::multi_array<ValueType, Dim>&)': ./../numpy_bind.hh:130:34: error: 'NPY_ARRAY_ALIGNED' was not declared in this scope ./../numpy_bind.hh:130:54: error: 'NPY_ARRAY_C_CONTIGUOUS' was not declared in this scope ./../numpy_bind.hh:131:25: error: 'NPY_ARRAY_WRITEABLE' was not declared in this scope ./../numpy_bind.hh:131:44: error: there are no arguments to 'PyArray_ENABLEFLAGS' that depend on a template parameter, so a declaration of 'PyArray_ENABLEFLAGS' must be available [-fpermissive] ./../numpy_bind.hh: In function 'boost::multi_array_ref<ValueType, dim> get_array(boost::python::api::object)': ./../numpy_bind.hh:173:30: error: 'NPY_ARRAY_C_CONTIGUOUS' was not declared in this scope
At global scope:
cc1plus: warning: unrecognized command line option "-Wno-unused-local-typedefs" [enabled by default]
make[4]: *** [graph_closeness.lo] Error 1
make[4]: Leaving directory `/home/markh/Code/graph-tool-2.2.25/src/graph/centrality'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/markh/Code/graph-tool-2.2.25/src/graph'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/markh/Code/graph-tool-2.2.25/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/markh/Code/graph-tool-2.2.25'
make: *** [all] Error 2
$

Perhaps your build machine has a numpy 1.7 installed in /usr/local/lib/python2.7/dist-packages (or elsewhere) in addition to the standard Precise package in usr/lib/python2.7/dist-packages, and your graph-tool ./configure is finding that one to compile against?

Cheers,

Mark.

_______________________________________________
graph-tool mailing list
[email protected]
http://lists.skewed.de/mailman/listinfo/graph-tool

Reply via email to