Hello all,
I got pytave's configure script to work by faking out the check for numpy compilation; I added the following line at line 5214 of the configure script
ax_python_numpy_cv_check=yes # STP change 120403 ##########################
so that the configure now completes. When I say make, I get the following error:
make
make all-am
/bin/sh ./libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I/opt/local/include/octave-3.4.3/octave/.. -I/opt/local/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -I/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/core/include -I/usr/local/include -arch x86_64 -I/opt/local/include -I/usr/X11/include -I/usr/X11/include/freetype2 -I/usr/X11/include/libpng12 -I/Users/stp/Code/Graphics/QtSDK/Desktop/Qt/4.8.0/gcc/include -MT _pytave_la-octave_to_python.lo -MD -MP -MF .deps/_pytave_la-octave_to_python.Tpo -c -o _pytave_la-octave_to_python.lo `test -f 'octave_to_python.cc' || echo './'`octave_to_python.cc
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I/opt/local/include/octave-3.4.3/octave/.. -I/opt/local/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -I/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/core/include -I/usr/local/include -arch x86_64 -I/opt/local/include -I/usr/X11/include -I/usr/X11/include/freetype2 -I/usr/X11/include/libpng12 -I/Users/stp/Code/Graphics/QtSDK/Desktop/Qt/4.8.0/gcc/include -MT _pytave_la-octave_to_python.lo -MD -MP -MF .deps/_pytave_la-octave_to_python.Tpo -c octave_to_python.cc -fno-common -DPIC -o .libs/_pytave_la-octave_to_python.o
octave_to_python.cc: In function 'void pytave::copy_octarray_to_pyarrobj(PyArrayObject*, const OctaveBase&, unsigned int, unsigned int, int, unsigned int) [with PythonPrimitive = long int, OctaveBase = intNDArray<octave_int<long long int> >]':
octave_to_python.cc:125: instantiated from 'PyArrayObject* pytave::create_array(const OctaveBase&, int) [with PythonPrimitive = long int, OctaveBase = intNDArray<octave_int<long long int> >]'
octave_to_python.cc:137: instantiated from 'PyArrayObject* pytave::create_array(const OctaveBase&, int, boost::true_type) [with PythonPrimitive = long int, OctaveBase = intNDArray<octave_int<long long int> >]'
octave_to_python.cc:177: instantiated from 'PyArrayObject* pytave::create_sint_array(CLASS) [with CLASS = intNDArray<octave_int<long long int> >, long unsigned int bytes = 8ul]'
octave_to_python.cc:218: instantiated from here
octave_to_python.cc:61: error: conversion from 'const octave_int<long long int>' to 'long int' is ambiguous
/opt/local/include/octave-3.4.3/octave/../octave/oct-inttypes.h:783: note: candidates are: octave_int<T>::operator float() const [with T = long long int]
/opt/local/include/octave-3.4.3/octave/../octave/oct-inttypes.h:781: note: octave_int<T>::operator double() const [with T = long long int]
/opt/local/include/octave-3.4.3/octave/../octave/oct-inttypes.h:777: note: octave_int<T>::operator T() const [with T = long long int]
make[1]: *** [_pytave_la-octave_to_python.lo] Error 1
make: *** [all] Error 2
line 61 of octave_to_python.cc says,
*(PythonPrimitive *)&ptr[offset + i*pyarr->strides[dimension]]
= matrix.elem(matindex + i*matstride);
and I'm not certain how to add an explicit cast to make this work...
...any reply appreciated...
Stephen Pope