storm
storm copied to clipboard
Storm should not write the (shipped) carl project to the cmake registry
If we have to build a shipped version of carl and one of the following happens:
- something goes wrong in cmake after the configuration step of carl
- something goes wrong in make before libcarl was build
- the user runs
cmake ..
again without doingmake
(maybe because the user wants to change a cmake option)
every subsequent call to cmake leads to
CMake Error at resources/3rdparty/CMakeLists.txt:250 (message):
File STORM_DIR/build/resources/3rdparty/carl/libcarl.so.14.19 does
not exist, did you build carl?
Can this be fixed (with moderate effort)? If not my suggestion would be to improve the error message.
A possible workaround is to delete the contents of the build folder and start again (which can be annoying).
Storm writes the carl project to the cmake registry. That causes the problem.
One problem is that pycarl currently needs this. https://github.com/moves-rwth/pycarl/issues/2#issue-540204472
To change that, storm needs to write where it put carl. That would be good anyway. To improve the error message in case that does not work, we can then check whether the carl version is in some storm-subfolder and adapt the error message accordingly.
I now bypassed this problematic as follows:
In cases where the above-mentioned error would occur, we now check whether the directory $STORM_DIR/build/resources/3rdparty/carl
exists. If yes, only a warning is printed stating that we try to build a shipped version of carl.
I know this is not a perfect solution (it might not work if there is a shipped version and a broken system version) but it should be fine in most cases. Of course, in the long run, the cmake registry thing mentioned by @sjunges needs to be fixed.