strange problem compiling against ndarrayobject.h
Hmm, it seems my original message did not come through? Not in gmane, at least... Well, here's again: Hi numpy and/or gdal guru's, I'm suddenly getting into trouble compiling gdal's python extension, when it includes ndarrayobject.h from numpy. First it complains about my python not being unicode, though I am sure it is unicode, and then it bails out with all kinds of errors (see snippet below). Numpy people, please read on even though this might seem a gdal problem, because it clearly is numpy related, see the snippet... I've tried everything I could think of, but to no avail. I hope one of you can give me a hint, because I'm kind of clueless, and even don't know in what direction I should search... Here is a paste from the output from building (python setup.py build) in the gdal/swig/python dir. make[2]: Entering directory `/usr/local/src/gdal/swig/python' python setup.py build numpy include /usr/lib64/python2.5/site-packages/numpy/core/include running build running build_py creating build creating build/lib.linux-x86_64-2.5 copying gdal.py -> build/lib.linux-x86_64-2.5 copying ogr.py -> build/lib.linux-x86_64-2.5 copying osr.py -> build/lib.linux-x86_64-2.5 copying gdalconst.py -> build/lib.linux-x86_64-2.5 creating build/lib.linux-x86_64-2.5/osgeo copying osgeo/gdalnumeric.py -> build/lib.linux-x86_64-2.5/osgeo copying osgeo/gdalconst.py -> build/lib.linux-x86_64-2.5/osgeo copying osgeo/__init__.py -> build/lib.linux-x86_64-2.5/osgeo copying osgeo/osr.py -> build/lib.linux-x86_64-2.5/osgeo copying osgeo/gdal_array.py -> build/lib.linux-x86_64-2.5/osgeo copying osgeo/gdal.py -> build/lib.linux-x86_64-2.5/osgeo copying osgeo/ogr.py -> build/lib.linux-x86_64-2.5/osgeo running build_ext building 'osgeo._gdal' extension C compiler: x86_64-pc-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -fPIC creating build/temp.linux-x86_64-2.5 creating build/temp.linux-x86_64-2.5/extensions compile options: '-I../../port -I../../gcore -I../../alg -I../../ogr -I/usr/lib64/python2.5/site-packages/numpy/core/include -I/usr/include/python2.5 -c' x86_64-pc-linux-gnu-gcc: extensions/gdal_wrap.cpp extensions/gdal_wrap.cpp: In function ‘PyObject* _wrap_MajorObject_SetMetadata__SWIG_0(PyObject*, PyObject*)’: extensions/gdal_wrap.cpp:4570: warning: deprecated conversion from string constant to ‘char*’ x86_64-pc-linux-gnu-g++ -pthread -shared build/temp.linux-x86_64-2.5/extensions/gdal_wrap.o -L../../.libs -L../.. -L/usr/lib64 -lgdal -lpython2.5 -o build/lib.linux-x86_64-2.5/osgeo/_gdal.so building 'osgeo._gdalconst' extension C compiler: x86_64-pc-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -fPIC compile options: '-I../../port -I../../gcore -I../../alg -I../../ogr -I/usr/lib64/python2.5/site-packages/numpy/core/include -I/usr/include/python2.5 -c' x86_64-pc-linux-gnu-gcc: extensions/gdalconst_wrap.c x86_64-pc-linux-gnu-gcc -pthread -shared build/temp.linux-x86_64-2.5/extensions/gdalconst_wrap.o -L../../.libs -L../.. -L/usr/lib64 -lgdal -lpython2.5 -o build/lib.linux-x86_64-2.5/osgeo/_gdalconst.so building 'osgeo._osr' extension C compiler: x86_64-pc-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -fPIC compile options: '-I../../port -I../../gcore -I../../alg -I../../ogr -I/usr/lib64/python2.5/site-packages/numpy/core/include -I/usr/include/python2.5 -c' x86_64-pc-linux-gnu-gcc: extensions/osr_wrap.cpp x86_64-pc-linux-gnu-g++ -pthread -shared build/temp.linux-x86_64-2.5/extensions/osr_wrap.o -L../../.libs -L../.. -L/usr/lib64 -lgdal -lpython2.5 -o build/lib.linux-x86_64-2.5/osgeo/_osr.so building 'osgeo._ogr' extension C compiler: x86_64-pc-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -fPIC compile options: '-I../../port -I../../gcore -I../../alg -I../../ogr -I/usr/lib64/python2.5/site-packages/numpy/core/include -I/usr/include/python2.5 -c' x86_64-pc-linux-gnu-gcc: extensions/ogr_wrap.cpp x86_64-pc-linux-gnu-g++ -pthread -shared build/temp.linux-x86_64-2.5/extensions/ogr_wrap.o -L../../.libs -L../.. -L/usr/lib64 -lgdal -lpython2.5 -o build/lib.linux-x86_64-2.5/osgeo/_ogr.so building 'osgeo._gdal_array' extension C compiler: x86_64-pc-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -fPIC compile options: '-I../../port -I../../gcore -I../../alg -I../../ogr -I/usr/lib64/python2.5/site-packages/numpy/core/include -I/usr/include/python2.5 -c' x86_64-pc-linux-gnu-gcc: extensions/_gdal_array.cpp In file included from /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/arrayobject.h:14, from extensions/gdal_array.h:10, from extensions/_gdal_array.cpp:33: /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:92:2: error: #error Must use Python with unicode enabled. In file included from /usr/include/python2.5/Python.h:62, from extensions/gdal_array.h:16, from extensions/_gdal_array.cpp:33: /usr/include/python2.5/pyport.h:105:1: warning: "PY_SSIZE_T_MAX" redefined In file included from /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/arrayobject.h:14, from extensions/gdal_array.h:10, from extensions/_gdal_array.cpp:33: /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:931:1: warning: this is the location of the previous definition In file included from /usr/include/python2.5/Python.h:62, from extensions/gdal_array.h:16, from extensions/_gdal_array.cpp:33: /usr/include/python2.5/pyport.h:107:1: warning: "PY_SSIZE_T_MIN" redefined In file included from /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/arrayobject.h:14, from extensions/gdal_array.h:10, from extensions/_gdal_array.cpp:33: /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:932:1: warning: this is the location of the previous definition In file included from /usr/include/python2.5/Python.h:131, from extensions/gdal_array.h:16, from extensions/_gdal_array.cpp:33: /usr/include/python2.5/abstract.h:762:1: warning: "PyIndex_Check" redefined In file included from /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/arrayobject.h:14, from extensions/gdal_array.h:10, from extensions/_gdal_array.cpp:33: /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:937:1: warning: this is the location of the previous definition In file included from /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/arrayobject.h:14, from extensions/gdal_array.h:10, from extensions/_gdal_array.cpp:33: /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:919: error: ‘Py_intptr_t’ does not name a type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:920: error: ‘Py_uintptr_t’ does not name a type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1012: error: expected initializer before ‘*’ token /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1013: error: typedef ‘PyArray_SetItemFunc’ is initialized (use __typeof__ instead) /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1013: error: ‘PyObject’ was not declared in this scope /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1013: error: expected primary-expression before ‘,’ token /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1013: error: expected primary-expression before ‘void’ /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1013: error: expected primary-expression before ‘void’ /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1015: error: ‘npy_intp’ has not been declared /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1015: error: ‘npy_intp’ has not been declared /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1016: error: ‘npy_intp’ has not been declared /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1026: error: ‘npy_intp’ has not been declared /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1026: error: ‘npy_intp’ has not been declared /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1028: error: ‘npy_intp’ has not been declared /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1028: error: ‘npy_intp’ has not been declared /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1029: error: ‘npy_intp’ has not been declared /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1031: error: ‘npy_intp’ has not been declared /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1041: error: ‘npy_intp’ has not been declared /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1043: error: ‘npy_intp’ has not been declared /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1044: error: ‘npy_intp’ has not been declared /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1044: error: ‘npy_intp’ has not been declared /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1046: error: ‘npy_intp’ has not been declared /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1050: error: ‘npy_intp’ has not been declared /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1052: error: ‘npy_intp’ has not been declared /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1053: error: ‘npy_intp’ has not been declared /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1056: error: ISO C++ forbids declaration of ‘npy_intp’ with no type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1056: error: expected ‘;’ before ‘*’ token /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1069: error: ISO C++ forbids declaration of ‘PyArray_GetItemFunc’ with no type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1069: error: expected ‘;’ before ‘*’ token /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1070: error: ISO C++ forbids declaration of ‘PyArray_SetItemFunc’ with no type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1070: error: expected ‘;’ before ‘*’ token /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1121: error: ISO C++ forbids declaration of ‘PyObject’ with no type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1121: error: expected ‘;’ before ‘*’ token /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1171: error: ‘PyObject_HEAD’ does not name a type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1190: error: ISO C++ forbids declaration of ‘PyObject’ with no type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1190: error: expected ‘;’ before ‘*’ token /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1194: error: ISO C++ forbids declaration of ‘PyObject’ with no type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1194: error: expected ‘;’ before ‘*’ token /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1203: error: ISO C++ forbids declaration of ‘PyObject’ with no type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1203: error: expected ‘;’ before ‘*’ token /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1213: error: ISO C++ forbids declaration of ‘PyObject_HEAD’ with no type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1214: error: expected ‘;’ before ‘char’ /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1216: error: ISO C++ forbids declaration of ‘npy_intp’ with no type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1216: error: expected ‘;’ before ‘*’ token /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1217: error: ISO C++ forbids declaration of ‘npy_intp’ with no type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1217: error: expected ‘;’ before ‘*’ token /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1219: error: ISO C++ forbids declaration of ‘PyObject’ with no type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1219: error: expected ‘;’ before ‘*’ token /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1229: error: ISO C++ forbids declaration of ‘PyObject’ with no type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1229: error: expected ‘;’ before ‘*’ token /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1238: error: ‘PyObject_HEAD’ does not name a type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1246: error: ‘PyObject_HEAD’ does not name a type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1249: error: ‘npy_intp’ does not name a type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1253: error: ‘PyObject’ has not been declared /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1395: error: ISO C++ forbids declaration of ‘PyObject_HEAD’ with no type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1396: error: expected ‘;’ before ‘int’ /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1397: error: ‘npy_intp’ does not name a type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1398: error: ‘npy_intp’ does not name a type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1399: error: ‘npy_intp’ does not name a type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1400: error: ‘npy_intp’ does not name a type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1401: error: ‘npy_intp’ does not name a type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1402: error: ‘npy_intp’ does not name a type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1542: error: ISO C++ forbids declaration of ‘PyObject_HEAD’ with no type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1543: error: expected ‘;’ before ‘int’ /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1544: error: ‘npy_intp’ does not name a type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1545: error: ‘npy_intp’ does not name a type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1547: error: ‘npy_intp’ does not name a type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1596: error: ISO C++ forbids declaration of ‘PyObject_HEAD’ with no type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1600: error: expected ‘;’ before ‘int’ /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1602: error: ‘npy_intp’ does not name a type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1604: error: ‘npy_intp’ does not name a type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1606: error: ‘npy_intp’ does not name a type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1622: error: ‘npy_intp’ does not name a type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1624: error: ISO C++ forbids declaration of ‘PyObject’ with no type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1624: error: expected ‘;’ before ‘*’ token /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1799: error: ISO C++ forbids declaration of ‘npy_intp’ with no type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1799: error: expected ‘;’ before ‘*’ token /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1800: error: ISO C++ forbids declaration of ‘npy_intp’ with no type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1800: error: expected ‘;’ before ‘*’ token /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1802: error: ISO C++ forbids declaration of ‘PyObject’ with no type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1802: error: expected ‘;’ before ‘*’ token In file included from /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1814, from /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/arrayobject.h:14, from extensions/gdal_array.h:10, from extensions/_gdal_array.cpp:33: /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/__multiarray_api.h: In function ‘int _import_array()’: /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/__multiarray_api.h:945: error: ‘PyObject’ was not declared in this scope /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/__multiarray_api.h:945: error: ‘numpy’ was not declared in this scope /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/__multiarray_api.h:945: error: ‘PyImport_ImportModule’ was not declared in this scope /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/__multiarray_api.h:946: error: ‘c_api’ was not declared in this scope /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/__multiarray_api.h:948: error: ‘PyObject_GetAttrString’ was not declared in this scope /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/__multiarray_api.h:949: error: ‘Py_DECREF’ was not declared in this scope /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/__multiarray_api.h:950: error: ‘PyCObject_Check’ was not declared in this scope /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/__multiarray_api.h:951: error: ‘PyCObject_AsVoidPtr’ was not declared in this scope /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/__multiarray_api.h:953: error: ‘Py_DECREF’ was not declared in this scope /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/__multiarray_api.h:958: error: ‘PyExc_RuntimeError’ was not declared in this scope /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/__multiarray_api.h:958: error: ‘PyErr_Format’ was not declared in this scope In file included from /usr/include/python2.5/Python.h:62, from extensions/gdal_array.h:16, from extensions/_gdal_array.cpp:33: /usr/include/python2.5/pyport.h: At global scope: /usr/include/python2.5/pyport.h:97: error: conflicting declaration ‘typedef ssize_t Py_ssize_t’ /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:930: error: ‘Py_ssize_t’ has a previous declaration as ‘typedef int Py_ssize_t’ extensions/_gdal_array.cpp: In function ‘void init_gdal_array()’: extensions/_gdal_array.cpp:118: warning: deprecated conversion from string constant to ‘char*’ extensions/_gdal_array.cpp: In destructor ‘virtual NUMPYDataset::~NUMPYDataset()’: extensions/_gdal_array.cpp:162: error: ‘struct PyArrayObject’ has no member named ‘ob_refcnt’ extensions/_gdal_array.cpp: In static member function ‘static GDALDataset* NUMPYDataset::Open(GDALOpenInfo*)’: extensions/_gdal_array.cpp:382: error: ‘struct PyArrayObject’ has no member named ‘ob_refcnt’ extensions/_gdal_array.cpp:393: error: ‘struct PyArrayObject’ has no member named ‘dimensions’ extensions/_gdal_array.cpp:394: error: ‘struct PyArrayObject’ has no member named ‘strides’ extensions/_gdal_array.cpp:395: error: ‘struct PyArrayObject’ has no member named ‘dimensions’ extensions/_gdal_array.cpp:396: error: ‘struct PyArrayObject’ has no member named ‘strides’ extensions/_gdal_array.cpp:397: error: ‘struct PyArrayObject’ has no member named ‘dimensions’ extensions/_gdal_array.cpp:398: error: ‘struct PyArrayObject’ has no member named ‘strides’ extensions/_gdal_array.cpp:404: error: ‘struct PyArrayObject’ has no member named ‘dimensions’ extensions/_gdal_array.cpp:405: error: ‘struct PyArrayObject’ has no member named ‘strides’ extensions/_gdal_array.cpp:406: error: ‘struct PyArrayObject’ has no member named ‘dimensions’ extensions/_gdal_array.cpp:407: error: ‘struct PyArrayObject’ has no member named ‘strides’ extensions/_gdal_array.cpp:418: error: ‘struct PyArrayObject’ has no member named ‘data’ going on like this for some more, but I hope this suffices... TIA, Vincent.
Hi all, It appeared to be a gdal issue after all: the arrayobject header file was being included before the python headers... Glad it wasn't something like me having borked my numpy build :) Cheers, Vincent. Vincent Schut wrote:
Hmm, it seems my original message did not come through? Not in gmane, at least... Well, here's again:
Hi numpy and/or gdal guru's,
I'm suddenly getting into trouble compiling gdal's python extension, when it includes ndarrayobject.h from numpy. First it complains about my python not being unicode, though I am sure it is unicode, and then it bails out with all kinds of errors (see snippet below). Numpy people, please read on even though this might seem a gdal problem, because it clearly is numpy related, see the snippet...
I've tried everything I could think of, but to no avail. I hope one of you can give me a hint, because I'm kind of clueless, and even don't know in what direction I should search...
Here is a paste from the output from building (python setup.py build) in the gdal/swig/python dir.
make[2]: Entering directory `/usr/local/src/gdal/swig/python' python setup.py build numpy include /usr/lib64/python2.5/site-packages/numpy/core/include running build running build_py creating build creating build/lib.linux-x86_64-2.5 copying gdal.py -> build/lib.linux-x86_64-2.5 copying ogr.py -> build/lib.linux-x86_64-2.5 copying osr.py -> build/lib.linux-x86_64-2.5 copying gdalconst.py -> build/lib.linux-x86_64-2.5 creating build/lib.linux-x86_64-2.5/osgeo copying osgeo/gdalnumeric.py -> build/lib.linux-x86_64-2.5/osgeo copying osgeo/gdalconst.py -> build/lib.linux-x86_64-2.5/osgeo copying osgeo/__init__.py -> build/lib.linux-x86_64-2.5/osgeo copying osgeo/osr.py -> build/lib.linux-x86_64-2.5/osgeo copying osgeo/gdal_array.py -> build/lib.linux-x86_64-2.5/osgeo copying osgeo/gdal.py -> build/lib.linux-x86_64-2.5/osgeo copying osgeo/ogr.py -> build/lib.linux-x86_64-2.5/osgeo running build_ext building 'osgeo._gdal' extension C compiler: x86_64-pc-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -fPIC
creating build/temp.linux-x86_64-2.5 creating build/temp.linux-x86_64-2.5/extensions compile options: '-I../../port -I../../gcore -I../../alg -I../../ogr -I/usr/lib64/python2.5/site-packages/numpy/core/include -I/usr/include/python2.5 -c' x86_64-pc-linux-gnu-gcc: extensions/gdal_wrap.cpp extensions/gdal_wrap.cpp: In function ‘PyObject* _wrap_MajorObject_SetMetadata__SWIG_0(PyObject*, PyObject*)’: extensions/gdal_wrap.cpp:4570: warning: deprecated conversion from string constant to ‘char*’ x86_64-pc-linux-gnu-g++ -pthread -shared build/temp.linux-x86_64-2.5/extensions/gdal_wrap.o -L../../.libs -L../.. -L/usr/lib64 -lgdal -lpython2.5 -o build/lib.linux-x86_64-2.5/osgeo/_gdal.so building 'osgeo._gdalconst' extension C compiler: x86_64-pc-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -fPIC
compile options: '-I../../port -I../../gcore -I../../alg -I../../ogr -I/usr/lib64/python2.5/site-packages/numpy/core/include -I/usr/include/python2.5 -c' x86_64-pc-linux-gnu-gcc: extensions/gdalconst_wrap.c x86_64-pc-linux-gnu-gcc -pthread -shared build/temp.linux-x86_64-2.5/extensions/gdalconst_wrap.o -L../../.libs -L../.. -L/usr/lib64 -lgdal -lpython2.5 -o build/lib.linux-x86_64-2.5/osgeo/_gdalconst.so building 'osgeo._osr' extension C compiler: x86_64-pc-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -fPIC
compile options: '-I../../port -I../../gcore -I../../alg -I../../ogr -I/usr/lib64/python2.5/site-packages/numpy/core/include -I/usr/include/python2.5 -c' x86_64-pc-linux-gnu-gcc: extensions/osr_wrap.cpp x86_64-pc-linux-gnu-g++ -pthread -shared build/temp.linux-x86_64-2.5/extensions/osr_wrap.o -L../../.libs -L../.. -L/usr/lib64 -lgdal -lpython2.5 -o build/lib.linux-x86_64-2.5/osgeo/_osr.so building 'osgeo._ogr' extension C compiler: x86_64-pc-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -fPIC
compile options: '-I../../port -I../../gcore -I../../alg -I../../ogr -I/usr/lib64/python2.5/site-packages/numpy/core/include -I/usr/include/python2.5 -c' x86_64-pc-linux-gnu-gcc: extensions/ogr_wrap.cpp x86_64-pc-linux-gnu-g++ -pthread -shared build/temp.linux-x86_64-2.5/extensions/ogr_wrap.o -L../../.libs -L../.. -L/usr/lib64 -lgdal -lpython2.5 -o build/lib.linux-x86_64-2.5/osgeo/_ogr.so building 'osgeo._gdal_array' extension C compiler: x86_64-pc-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -fPIC
compile options: '-I../../port -I../../gcore -I../../alg -I../../ogr -I/usr/lib64/python2.5/site-packages/numpy/core/include -I/usr/include/python2.5 -c' x86_64-pc-linux-gnu-gcc: extensions/_gdal_array.cpp In file included from /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/arrayobject.h:14, from extensions/gdal_array.h:10, from extensions/_gdal_array.cpp:33: /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:92:2: error: #error Must use Python with unicode enabled. In file included from /usr/include/python2.5/Python.h:62, from extensions/gdal_array.h:16, from extensions/_gdal_array.cpp:33: /usr/include/python2.5/pyport.h:105:1: warning: "PY_SSIZE_T_MAX" redefined In file included from /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/arrayobject.h:14, from extensions/gdal_array.h:10, from extensions/_gdal_array.cpp:33: /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:931:1: warning: this is the location of the previous definition In file included from /usr/include/python2.5/Python.h:62, from extensions/gdal_array.h:16, from extensions/_gdal_array.cpp:33: /usr/include/python2.5/pyport.h:107:1: warning: "PY_SSIZE_T_MIN" redefined In file included from /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/arrayobject.h:14, from extensions/gdal_array.h:10, from extensions/_gdal_array.cpp:33: /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:932:1: warning: this is the location of the previous definition In file included from /usr/include/python2.5/Python.h:131, from extensions/gdal_array.h:16, from extensions/_gdal_array.cpp:33: /usr/include/python2.5/abstract.h:762:1: warning: "PyIndex_Check" redefined In file included from /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/arrayobject.h:14, from extensions/gdal_array.h:10, from extensions/_gdal_array.cpp:33: /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:937:1: warning: this is the location of the previous definition In file included from /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/arrayobject.h:14, from extensions/gdal_array.h:10, from extensions/_gdal_array.cpp:33: /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:919: error: ‘Py_intptr_t’ does not name a type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:920: error: ‘Py_uintptr_t’ does not name a type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1012: error: expected initializer before ‘*’ token /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1013: error: typedef ‘PyArray_SetItemFunc’ is initialized (use __typeof__ instead) /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1013: error: ‘PyObject’ was not declared in this scope /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1013: error: expected primary-expression before ‘,’ token /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1013: error: expected primary-expression before ‘void’ /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1013: error: expected primary-expression before ‘void’ /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1015: error: ‘npy_intp’ has not been declared /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1015: error: ‘npy_intp’ has not been declared /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1016: error: ‘npy_intp’ has not been declared /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1026: error: ‘npy_intp’ has not been declared /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1026: error: ‘npy_intp’ has not been declared /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1028: error: ‘npy_intp’ has not been declared /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1028: error: ‘npy_intp’ has not been declared /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1029: error: ‘npy_intp’ has not been declared /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1031: error: ‘npy_intp’ has not been declared /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1041: error: ‘npy_intp’ has not been declared /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1043: error: ‘npy_intp’ has not been declared /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1044: error: ‘npy_intp’ has not been declared /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1044: error: ‘npy_intp’ has not been declared /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1046: error: ‘npy_intp’ has not been declared /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1050: error: ‘npy_intp’ has not been declared /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1052: error: ‘npy_intp’ has not been declared /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1053: error: ‘npy_intp’ has not been declared /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1056: error: ISO C++ forbids declaration of ‘npy_intp’ with no type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1056: error: expected ‘;’ before ‘*’ token /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1069: error: ISO C++ forbids declaration of ‘PyArray_GetItemFunc’ with no type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1069: error: expected ‘;’ before ‘*’ token /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1070: error: ISO C++ forbids declaration of ‘PyArray_SetItemFunc’ with no type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1070: error: expected ‘;’ before ‘*’ token /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1121: error: ISO C++ forbids declaration of ‘PyObject’ with no type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1121: error: expected ‘;’ before ‘*’ token /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1171: error: ‘PyObject_HEAD’ does not name a type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1190: error: ISO C++ forbids declaration of ‘PyObject’ with no type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1190: error: expected ‘;’ before ‘*’ token /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1194: error: ISO C++ forbids declaration of ‘PyObject’ with no type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1194: error: expected ‘;’ before ‘*’ token /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1203: error: ISO C++ forbids declaration of ‘PyObject’ with no type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1203: error: expected ‘;’ before ‘*’ token /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1213: error: ISO C++ forbids declaration of ‘PyObject_HEAD’ with no type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1214: error: expected ‘;’ before ‘char’ /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1216: error: ISO C++ forbids declaration of ‘npy_intp’ with no type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1216: error: expected ‘;’ before ‘*’ token /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1217: error: ISO C++ forbids declaration of ‘npy_intp’ with no type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1217: error: expected ‘;’ before ‘*’ token /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1219: error: ISO C++ forbids declaration of ‘PyObject’ with no type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1219: error: expected ‘;’ before ‘*’ token /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1229: error: ISO C++ forbids declaration of ‘PyObject’ with no type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1229: error: expected ‘;’ before ‘*’ token /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1238: error: ‘PyObject_HEAD’ does not name a type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1246: error: ‘PyObject_HEAD’ does not name a type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1249: error: ‘npy_intp’ does not name a type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1253: error: ‘PyObject’ has not been declared /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1395: error: ISO C++ forbids declaration of ‘PyObject_HEAD’ with no type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1396: error: expected ‘;’ before ‘int’ /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1397: error: ‘npy_intp’ does not name a type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1398: error: ‘npy_intp’ does not name a type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1399: error: ‘npy_intp’ does not name a type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1400: error: ‘npy_intp’ does not name a type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1401: error: ‘npy_intp’ does not name a type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1402: error: ‘npy_intp’ does not name a type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1542: error: ISO C++ forbids declaration of ‘PyObject_HEAD’ with no type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1543: error: expected ‘;’ before ‘int’ /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1544: error: ‘npy_intp’ does not name a type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1545: error: ‘npy_intp’ does not name a type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1547: error: ‘npy_intp’ does not name a type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1596: error: ISO C++ forbids declaration of ‘PyObject_HEAD’ with no type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1600: error: expected ‘;’ before ‘int’ /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1602: error: ‘npy_intp’ does not name a type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1604: error: ‘npy_intp’ does not name a type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1606: error: ‘npy_intp’ does not name a type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1622: error: ‘npy_intp’ does not name a type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1624: error: ISO C++ forbids declaration of ‘PyObject’ with no type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1624: error: expected ‘;’ before ‘*’ token /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1799: error: ISO C++ forbids declaration of ‘npy_intp’ with no type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1799: error: expected ‘;’ before ‘*’ token /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1800: error: ISO C++ forbids declaration of ‘npy_intp’ with no type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1800: error: expected ‘;’ before ‘*’ token /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1802: error: ISO C++ forbids declaration of ‘PyObject’ with no type /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1802: error: expected ‘;’ before ‘*’ token In file included from /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:1814, from /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/arrayobject.h:14, from extensions/gdal_array.h:10, from extensions/_gdal_array.cpp:33: /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/__multiarray_api.h: In function ‘int _import_array()’: /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/__multiarray_api.h:945: error: ‘PyObject’ was not declared in this scope /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/__multiarray_api.h:945: error: ‘numpy’ was not declared in this scope /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/__multiarray_api.h:945: error: ‘PyImport_ImportModule’ was not declared in this scope /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/__multiarray_api.h:946: error: ‘c_api’ was not declared in this scope /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/__multiarray_api.h:948: error: ‘PyObject_GetAttrString’ was not declared in this scope /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/__multiarray_api.h:949: error: ‘Py_DECREF’ was not declared in this scope /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/__multiarray_api.h:950: error: ‘PyCObject_Check’ was not declared in this scope /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/__multiarray_api.h:951: error: ‘PyCObject_AsVoidPtr’ was not declared in this scope /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/__multiarray_api.h:953: error: ‘Py_DECREF’ was not declared in this scope /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/__multiarray_api.h:958: error: ‘PyExc_RuntimeError’ was not declared in this scope /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/__multiarray_api.h:958: error: ‘PyErr_Format’ was not declared in this scope In file included from /usr/include/python2.5/Python.h:62, from extensions/gdal_array.h:16, from extensions/_gdal_array.cpp:33: /usr/include/python2.5/pyport.h: At global scope: /usr/include/python2.5/pyport.h:97: error: conflicting declaration ‘typedef ssize_t Py_ssize_t’ /usr/lib64/python2.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:930: error: ‘Py_ssize_t’ has a previous declaration as ‘typedef int Py_ssize_t’ extensions/_gdal_array.cpp: In function ‘void init_gdal_array()’: extensions/_gdal_array.cpp:118: warning: deprecated conversion from string constant to ‘char*’ extensions/_gdal_array.cpp: In destructor ‘virtual NUMPYDataset::~NUMPYDataset()’: extensions/_gdal_array.cpp:162: error: ‘struct PyArrayObject’ has no member named ‘ob_refcnt’ extensions/_gdal_array.cpp: In static member function ‘static GDALDataset* NUMPYDataset::Open(GDALOpenInfo*)’: extensions/_gdal_array.cpp:382: error: ‘struct PyArrayObject’ has no member named ‘ob_refcnt’ extensions/_gdal_array.cpp:393: error: ‘struct PyArrayObject’ has no member named ‘dimensions’ extensions/_gdal_array.cpp:394: error: ‘struct PyArrayObject’ has no member named ‘strides’ extensions/_gdal_array.cpp:395: error: ‘struct PyArrayObject’ has no member named ‘dimensions’ extensions/_gdal_array.cpp:396: error: ‘struct PyArrayObject’ has no member named ‘strides’ extensions/_gdal_array.cpp:397: error: ‘struct PyArrayObject’ has no member named ‘dimensions’ extensions/_gdal_array.cpp:398: error: ‘struct PyArrayObject’ has no member named ‘strides’ extensions/_gdal_array.cpp:404: error: ‘struct PyArrayObject’ has no member named ‘dimensions’ extensions/_gdal_array.cpp:405: error: ‘struct PyArrayObject’ has no member named ‘strides’ extensions/_gdal_array.cpp:406: error: ‘struct PyArrayObject’ has no member named ‘dimensions’ extensions/_gdal_array.cpp:407: error: ‘struct PyArrayObject’ has no member named ‘strides’ extensions/_gdal_array.cpp:418: error: ‘struct PyArrayObject’ has no member named ‘data’
going on like this for some more, but I hope this suffices...
TIA, Vincent.
_______________________________________________ Numpy-discussion mailing list Numpy-discussion@scipy.org http://projects.scipy.org/mailman/listinfo/numpy-discussion
participants (1)
-
Vincent Schut