Trying to compile octcdf-1.1.1 with octave 3.2.4 on Fedora 14, I get:

mkoctfile -DHAVE_OCTAVE_ -v -c ov-netcdf.cc -DH5_USE_16_API -I/usr/include -DHAVE_OCTAVE_INT g++ -c -DH5_USE_16_API -fPIC -I/usr/include/octave-3.2.4 -I/usr/include/octave-3.2.4/octave -mieee-fp -I/usr/include/freetype2 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -I/usr/include -DHAVE_OCTAVE_ -DH5_USE_16_API -DHAVE_OCTAVE_INT ov-netcdf.cc -o ov-netcdf.o
ov-netcdf.cc: In function ‘octave_value ov_nc_get_att(int, int, std::string)’:
ov-netcdf.cc:623:424: error: call of overloaded ‘octave_value(Array<double>&)’ is ambiguous /usr/include/octave-3.2.4/octave/ov.h:263:3: note: candidates are: octave_value::octave_value(const ArrayN<octave_int<long long unsigned int> >&) /usr/include/octave-3.2.4/octave/ov.h:261:3: note: octave_value::octave_value(const ArrayN<octave_int<unsigned int> >&) /usr/include/octave-3.2.4/octave/ov.h:259:3: note: octave_value::octave_value(const ArrayN<octave_int<short unsigned int> >&) /usr/include/octave-3.2.4/octave/ov.h:257:3: note: octave_value::octave_value(const ArrayN<octave_int<unsigned char> >&) /usr/include/octave-3.2.4/octave/ov.h:255:3: note: octave_value::octave_value(const ArrayN<octave_int<long long int> >&) /usr/include/octave-3.2.4/octave/ov.h:253:3: note: octave_value::octave_value(const ArrayN<octave_int<int> >&) /usr/include/octave-3.2.4/octave/ov.h:251:3: note: octave_value::octave_value(const ArrayN<octave_int<short int> >&) /usr/include/octave-3.2.4/octave/ov.h:249:3: note: octave_value::octave_value(const ArrayN<octave_int<signed char> >&) /usr/include/octave-3.2.4/octave/ov.h:247:3: note: octave_value::octave_value(const octave_uint64&) /usr/include/octave-3.2.4/octave/ov.h:246:3: note: octave_value::octave_value(const octave_uint32&) /usr/include/octave-3.2.4/octave/ov.h:245:3: note: octave_value::octave_value(const octave_uint16&) /usr/include/octave-3.2.4/octave/ov.h:244:3: note: octave_value::octave_value(const octave_uint8&) /usr/include/octave-3.2.4/octave/ov.h:243:3: note: octave_value::octave_value(const octave_int64&) /usr/include/octave-3.2.4/octave/ov.h:242:3: note: octave_value::octave_value(const octave_int32&) /usr/include/octave-3.2.4/octave/ov.h:241:3: note: octave_value::octave_value(const octave_int16&) /usr/include/octave-3.2.4/octave/ov.h:240:3: note: octave_value::octave_value(const octave_int8&) /usr/include/octave-3.2.4/octave/ov.h:233:3: note: octave_value::octave_value(const Sparse<double>&, const MatrixType&) /usr/include/octave-3.2.4/octave/ov.h:230:3: note: octave_value::octave_value(const ArrayN<char>&, bool, char) /usr/include/octave-3.2.4/octave/ov.h:221:3: note: octave_value::octave_value(const ArrayN<bool>&) /usr/include/octave-3.2.4/octave/ov.h:210:3: note: octave_value::octave_value(const ArrayN<std::complex<float> >&) /usr/include/octave-3.2.4/octave/ov.h:209:3: note: octave_value::octave_value(const ArrayN<std::complex<double> >&) /usr/include/octave-3.2.4/octave/ov.h:196:3: note: octave_value::octave_value(const ArrayN<float>&) /usr/include/octave-3.2.4/octave/ov.h:195:3: note: octave_value::octave_value(const ArrayN<double>&) /usr/include/octave-3.2.4/octave/ov.h:189:3: note: octave_value::octave_value(const ArrayN<octave_value>&, bool)

... and repeats at lines 624-627.

Seeing that a similar error was reported against image-1.0.11 and fixed in 1.0.12, I came up with the attached patch. Now, I really have no idea what I'm doing here, I just changed Array to ArrayN as I saw done in image-1.0.12, I have no idea if this is the correct fix, just that it compiles.


--
Orion Poplawski
Technical Manager                     303-415-9701 x222
NWRA/CoRA Division                    FAX: 303-415-9702
3380 Mitchell Lane                  or...@cora.nwra.com
Boulder, CO 80301              http://www.cora.nwra.com
diff -up octcdf/src/ov-netcdf.cc.arrayN octcdf/src/ov-netcdf.cc
--- octcdf/src/ov-netcdf.cc.arrayN	2010-04-27 07:19:51.000000000 -0600
+++ octcdf/src/ov-netcdf.cc	2010-12-10 16:09:20.766181622 -0700
@@ -609,7 +609,7 @@ octave_value ov_nc_get_att(int ncid, int
 	  if (lenp == 1) {					        \
 	    retval = octave_value(*var);                                \
 	  } else {                                                      \
-	    Array<double> arr =  Array<double>(dim_vector(1,lenp));	\
+	    ArrayN<double> arr =  ArrayN<double>(dim_vector(1,lenp));	\
 	    for (unsigned int i=0; i<lenp; i++) {                       \
 	      arr.xelem(i) = (double)var[i];                            \
 	    }                                                           \
------------------------------------------------------------------------------
Oracle to DB2 Conversion Guide: Learn learn about native support for PL/SQL,
new data types, scalar functions, improved concurrency, built-in packages, 
OCI, SQL*Plus, data movement tools, best practices and more.
http://p.sf.net/sfu/oracle-sfdev2dev 
_______________________________________________
Octave-dev mailing list
Octave-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/octave-dev

Reply via email to