Hi,
I have written a program that does simulations of sbml-models in c++.
Normally I use the library that I get from the package libsbml5-dev
libsbml5-dev:
Installiert: 5.16.0+dfsg-1
Installationskandidat: 5.16.0+dfsg-1
Now I want to do simulations on a server, where I am not able to install the package. So I decided to install it manually.
You can see the steps of installation in the following.
wget '
https://sourceforge.net/projects/sbml/files/libsbml/5.16.0/stable/libSBML-5.16.0-core-src.zip'
unzip libSBML-5.16.0-core-src.zip
rm libSBML-5.16.0-core-src.zip
cd libsbml-5.16.0
mkdir -p build
cd build
cmake -DLIBSBML_USE_LEGACY_MATH=ON ..
make
I included the manually installed library into my code, but here I observe some difference to the libsbml5-dev package.
The code-breaking difference is the following method
model->getReaction(r)->getKineticLaw()->getMath()->getType()
In the manually build version always 0 is returned, in contrast to the package version, where the AST of the kinetic Law is read correctly.
I tried to choose a different XMLParser like Xerxes or EXPAT, but this parser aren't on my machine, so that I assume that the XMLparser of both versions are the same.
Any ideas why I get different results from the function?
Best,
Alex