ecell / ecell4_base

An integrated software environment for multi-algorithm, multi-timescale, multi-spatial-representation simulation of various cellular phenomena
https://ecell4.e-cell.org/
GNU General Public License v3.0
63 stars 23 forks source link

Error: ‘class H5::CommonFG’ has no members named 'createDataSet' and 'openDataSet' #319

Closed maximtrp closed 5 years ago

maximtrp commented 5 years ago

I am compiling ecell4 on aarch64 (no python wheel for this platform, unfortunately) and getting this error:

/home/maxim/git/ecell4/ecell4/core/RandomNumberGenerator.cpp: In member function ‘virtual void ecell4::GSLRandomNumberGenerator::save(H5::CommonFG*) const’:
/home/maxim/git/ecell4/ecell4/core/RandomNumberGenerator.cpp:24:27: error: ‘class H5::CommonFG’ has no member named ‘createDataSet’
         new DataSet(root->createDataSet("rng", *optype, dataspace)));
                           ^~~~~~~~~~~~~
/home/maxim/git/ecell4/ecell4/core/RandomNumberGenerator.cpp: In member function ‘virtual void ecell4::GSLRandomNumberGenerator::load(const H5::CommonFG&)’:
/home/maxim/git/ecell4/ecell4/core/RandomNumberGenerator.cpp:32:40: error: ‘const class H5::CommonFG’ has no member named ‘openDataSet’; did you mean ‘openDataType’?
     const DataSet dataset(DataSet(root.openDataSet("rng")));
                                        ^~~~~~~~~~~
                                        openDataType
make[2]: *** [ecell4/core/CMakeFiles/ecell4-core.dir/build.make:297: ecell4/core/CMakeFiles/ecell4-core.dir/RandomNumberGenerator.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:147: ecell4/core/CMakeFiles/ecell4-core.dir/all] Error 2
make: *** [Makefile:141: all] Error 2

My steps:

git clone https://github.com/ecell/ecell4.git
cd ecell4
cmake .
make

HDF5, Boost, and build tools are installed.

uname -a output:

Linux odroidc2 3.16.61-2-ARCH #1 SMP PREEMPT Sat Dec 22 12:05:44 MST 2018 aarch64 GNU/Linux
kaizu commented 5 years ago

This seems due to the version of HDF5. The latest ecell4 expects 1.10.4 of HDF5. Could you tell me the version in your environment?

The following script might be helpful. https://github.com/ecell/ecell4-base/blob/master/.travis.yml#L56-L61

Please specify the path as cmake -DHDF5_ROOT=/path/to/hdf5/built. https://github.com/ecell/ecell4-base/blob/master/.travis.yml#L85

maximtrp commented 5 years ago

I have recloned this rep and repeated my actions. Everything is okay. Thank you! Btw, I had to use --recursive arg to get greens_functions.