Hi,
I have installed (and uninstalled) JEMRIS quite some time now. This time I faced a couple of problems that I just figured out. I want to summarize them here for anyone else that is going to try and install this in the future.
After installing the dependencies, I use the following commands to build JEMRIS
cd jemris
mkdir build
cd build
cmake ..
make
sudo make install
However, running cmake .. gave me some errors. Initially I had problems with not being able to find my hdf5 install:
Make Error at /usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:146 (message):
Could NOT find HDF5 (missing: HDF5_LIBRARIES HDF5_INCLUDE_DIRS C CXX)
(found version "")
Call Stack (most recent call first):
/usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:393 (_FPHSA_FAILURE_MESSAGE)
/usr/share/cmake-3.16/Modules/FindHDF5.cmake:929 (find_package_handle_standard_args)
CMakeLists.txt:106 (find_package)
-- Configuring incomplete, errors occurred!
After installing `sudo apt-get install libhdf5-dev`, everything worked fine.
Then GiNaC gave issues when running `cmake ..`:
~/Downloads/jemris/src/ginac_functions.h: In function ‘void compile_ex(const GiNaC::ex&, const GiNaC::symbol&, const GiNaC::symbol&, const GiNaC::symbol&, const GiNaC::symbol&, double (*&)(double, double, double, double), std::string)’:
~/Downloads/jemris/src/ginac_functions.h:393:70: error: no matching function for call to ‘GiNaC::container<std::__cxx11::list>::container(const GiNaC::relational, const GiNaC::relational, const GiNaC::relational, const GiNaC::relational)’
393 | ex expr_with_xyzg = expr.subs(lst(sym1==x, sym2==y, sym3==z, sym4==g));
| ^
In file included from /usr/local/include/ginac/lst.h:26,
from /usr/local/include/ginac/normal.h:29,
from /usr/local/include/ginac/ginac.h:31,
from ~/Downloads/jemris/src/Attribute.h:46,
from ~/Downloads/jemris/src/Attribute.cpp:31:
This was, by surprised, solved by replacing
ex expr_with_xyzg = expr.subs(lst(sym1==x, sym2==y, sym3==z, sym4==g));
To
ex expr_with_xyzg = expr.subs(lst());
In the file `~/jemris/src/ginac_functions.h`
Then, after running `cmake ..` again, a known error occured:
~/Downloads/jemris/src/Bloch_McConnell_CV_Model.cpp:274:39: error: ‘CV_FUNCTIONAL’ was not declared in this scope
274 | m_cvode_mem = CVodeCreate(CV_ADAMS,CV_FUNCTIONAL);
This was fixed by replacing
m_cvode_mem = CVodeCreate (CV_ADAMS, CV_FUNCTIONAL);
to
m_cvode_mem = CVodeCreate (CV_ADAMS);
in the files
~/jemris/src/Bloch_CV_Model.cpp
~/jemris/src/Bloch_McConnell_CV_Model.cpp
I hope this might help someone (or maybe myself) in the future. If the creators have any comments on my change I am glad to hear them
Greetings