Open bcrabbe opened 9 years ago
sorry that I did not reply, I did not get a notification when you opened this issue. Thank you for the report. It seems that your compiler checks are much more strict than mine. I'll fix these errors shortly. Thanks again.
Thanks for providing this Stefan et al. Any sense if this will be in octave 4.1/4.2 (or at least in Octave-Forge)? Some matlab-api compatibility is better than none, and Matlab certainly doesn't do it all either, and what Matlab does implement is sometimes hard to use...so thanks!
On their patch list where I made an entry, somebody said they would like to integrate it into 4.2 of octave core, but so far it is still not in the code in savannah. If you want, you could add another comment to make them see that we really would like to see better hdf5 in the core soon :-)
I added my 75 cents to the Savannah discussion.
@bcrabbe I still cannot reproduce the errors above. Are you sure you use a recent hdf5 library version? Which standard do you enforce? Neither octave nor hdf5 are clean enough to fulfill certain older iso standards.
Please note that I there is ongong work to incorporate the function of hdf5oct into GNU Octave core. If you are interested, you can get it from https://bitbucket.org/carandraug/octave/commits/branch/h5read
running 'make' produces an error:
sphere@WP2:~/gait_cnn/datasets/scripts/scripts/hdf5oct/hdf5oct$ make CXX=h5c++ mkoctfile -g -c h5read.cc In file included from h5read.cc:54:0: h5read.h:72:22: error: ISO C++ forbids initialisation of member ‘h5_dims’ [-fpermissive] h5read.h:72:22: error: making ‘h5_dims’ static [-fpermissive] h5read.h:72:22: error: invalid in-class initialisation of static data member of non-integral type ‘hsizet* {aka long long unsigned int}’ h5read.h:73:25: error: ISO C++ forbids initialisation of member ‘h5_maxdims’ [-fpermissive] h5read.h:73:25: error: making ‘h5_maxdims’ static [-fpermissive] h5read.h:73:25: error: invalid in-class initialisation of static data member of non-integral type ‘hsizet {aka long long unsigned int}’ h5read.cc: In constructor ‘H5File::H5File(const char, bool)’: h5read.cc:516:40: error: invalid conversion from ‘herrt (*)(void) {aka int (**)(void)}’ to ‘void__’ [-fpermissive] h5read.cc:516:40: error: too many arguments to function ‘herr_t H5Eget_auto1(herr_t (_)(void), void_)’ /usr/include/H5Epublic.h:212:15: note: declared here h5read.cc:518:31: error: too many arguments to function ‘herr_t H5Eset_auto1(H5E_auto1t, void)’ /usr/include/H5Epublic.h:216:15: note: declared here h5read.cc:538:38: error: invalid conversion from ‘H5E_auto1t {aka int ()(void)}’ to ‘void’ [-fpermissive] h5read.cc:538:38: error: too many arguments to function ‘herr_t H5Eset_auto1(H5E_auto1t, void)’ /usr/include/H5Epublic.h:216:15: note: declared here h5read.cc: In destructor ‘H5File::~H5File()’: h5read.cc:568:7: error: ‘h5_dims’ was not declared in this scope h5read.cc:573:7: error: ‘h5_maxdims’ was not declared in this scope h5read.cc: In member function ‘int H5File::opendset(const char)’: h5read.cc:604:49: error: too many arguments to function ‘hid_t H5Dopen1(hidt, const char)’ /usr/include/H5Dpublic.h:145:14: note: declared here h5read.cc:625:3: error: ‘h5_dims’ was not declared in this scope h5read.cc:626:3: error: ‘h5_maxdims’ was not declared in this scope h5read.cc: In member function ‘octave_value H5File::read_dsetcomplete(const char)’: h5read.cc:653:19: error: ‘h5_dims’ was not declared in this scope h5read.cc: In member function ‘octave_value H5File::read_dsethyperslab(const char, const Matrix&, const Matrix&, const Matrix&, const Matrix&, int)’: h5read.cc:727:24: error: ‘h5_dims’ was not declared in this scope h5read.cc:731:11: error: ‘h5_dims’ was not declared in this scope h5read.cc: In member function ‘void H5File::writedset(const char, octave_value)’: h5read.cc:915:113: error: too many arguments to function ‘hid_t H5Gcreate1(hidt, const char, size_t)’ /usr/include/H5Gpublic.h:147:14: note: declared here h5read.cc:947:7: error: too many arguments to function ‘hid_t H5Dcreate1(hidt, const char, hid_t, hid_t, hid_t)’ /usr/include/H5Dpublic.h:143:14: note: declared here h5read.cc:955:11: error: too many arguments to function ‘hid_t H5Dcreate1(hidt, const char, hid_t, hid_t, hid_t)’ /usr/include/H5Dpublic.h:143:14: note: declared here h5read.cc:961:11: error: too many arguments to function ‘hid_t H5Dcreate1(hidt, const char, hid_t, hid_t, hid_t)’ /usr/include/H5Dpublic.h:143:14: note: declared here h5read.cc:967:11: error: too many arguments to function ‘hid_t H5Dcreate1(hidt, const char, hid_t, hid_t, hid_t)’ /usr/include/H5Dpublic.h:143:14: note: declared here h5read.cc:973:11: error: too many arguments to function ‘hid_t H5Dcreate1(hidt, const char, hid_t, hid_t, hid_t)’ /usr/include/H5Dpublic.h:143:14: note: declared here h5read.cc:979:11: error: too many arguments to function ‘hid_t H5Dcreate1(hidt, const char, hid_t, hid_t, hid_t)’ /usr/include/H5Dpublic.h:143:14: note: declared here h5read.cc:985:11: error: too many arguments to function ‘hid_t H5Dcreate1(hidt, const char, hid_t, hid_t, hid_t)’ /usr/include/H5Dpublic.h:143:14: note: declared here h5read.cc:991:11: error: too many arguments to function ‘hid_t H5Dcreate1(hidt, const char, hid_t, hid_t, hid_t)’ /usr/include/H5Dpublic.h:143:14: note: declared here h5read.cc:997:11: error: too many arguments to function ‘hid_t H5Dcreate1(hidt, const char, hid_t, hid_t, hid_t)’ /usr/include/H5Dpublic.h:143:14: note: declared here h5read.cc:1003:11: error: too many arguments to function ‘hid_t H5Dcreate1(hidt, const char, hid_t, hid_t, hid_t)’ /usr/include/H5Dpublic.h:143:14: note: declared here h5read.cc:1011:7: error: too many arguments to function ‘hid_t H5Dcreate1(hidt, const char, hid_t, hid_t, hid_t)’ /usr/include/H5Dpublic.h:143:14: note: declared here h5read.cc:1017:7: error: too many arguments to function ‘hid_t H5Dcreate1(hidt, const char, hid_t, hid_t, hid_t)’ /usr/include/H5Dpublic.h:143:14: note: declared here h5read.cc: In member function ‘void H5File::write_dsethyperslab(const char, octave_value, const Matrix&, const Matrix&, const Matrix&, const Matrix&, int)’: h5read.cc:1089:11: error: ‘h5_maxdims’ was not declared in this scope h5read.cc:1100:11: error: ‘h5_dims’ was not declared in this scope h5read.cc:1111:31: error: ‘h5_dims’ was not declared in this scope h5read.cc: In member function ‘octave_value H5File::readatt(const char, const char_)’: h5read.cc:1169:40: error: ‘hdf5_check_attr’ was not declared in this scope h5read.cc: In member function ‘void H5File::writeatt(const char, const char_, const octave_value&)’: h5read.cc:1375:62: error: too many arguments to function ‘hid_t H5Acreate1(hidt, const char, hid_t, hid_t, hid_t)’ /usr/include/H5Apublic.h:105:16: note: declared here h5read.cc: In member function ‘void H5File::createdset(const char, const Matrix&, const char_, const Matrix&)’: h5read.cc:1449:58: error: too many arguments to function ‘hid_t H5Dcreate1(hidt, const char, hid_t, hid_t, hid_t)’ /usr/include/H5Dpublic.h:143:14: note: declared here make: _* [h5read.o] Error 1