Skip to content

Creating Debian packages#732

Open
volkm wants to merge 2 commits intostormchecker:masterfrom
volkm:deb
Open

Creating Debian packages#732
volkm wants to merge 2 commits intostormchecker:masterfrom
volkm:deb

Conversation

@volkm
Copy link
Contributor

@volkm volkm commented Jun 27, 2025

Revised the existing CPack configuration to build .deb packages for Debian and Ubuntu and moved the file to resources/cmake.
I also added a CI workflow which builds the Debian packages, stores them as artifacts and tests them by building the starter-project.

Creating the packages is successful but the installation still has an issue. As seen here, the storm libraries are not found afterwards.
A couple of observations:

  • ldd on /usr/lib/storm/libstorm.so shows that all reference can be resolved, ldd on /usr/bin/storm shows that the storm libs cannot be found
  • the libraries are installed in /lib/storm/, /bin/, and /usr/lib/storm, /usr/include/storm, /usr/bin. The carl installation is different from the rest because carl is installed in /usr/local/lib/storm/resources/ and /usr/local/include/storm/resources/carl/.

Edit: creating packages should now be successful after integrating the following changes:

I tested a combined version of all proposed changes in https://github.com/volkm/storm/tree/installation-test.

  • Build tests are successful
  • Creating Debian packages is successful as well and the resulting Debian packages are available as artifacts of the same run.

@sjunges
Copy link
Contributor

sjunges commented Jun 29, 2025

The libraries are installed to /usr/lib/storm, /usr/lib/storm/resources, not to bin/ or to include/ :-)

  • (only) carl is installed to usr/local/lib ...
    I am not 100% sure why this is happening. Maybe we should ship carl as an own deb file? We can probably also override its installation process.

  • Regarding the runtime search paths: I have to look into this more. Based on our CI, I would think that the runtime paths are correct when we install storm. Is the debian package created from the install tree or the build tree?

@volkm
Copy link
Contributor Author

volkm commented Jun 29, 2025

Installing from the deb package actually places the binaries in both /bin and /usr/bin, similar happens for the libs. Maybe putting them in /bin and /lib can be disabled.

Providing a separate package for carl is actually a good idea. It is a dependency and therefore should be separate package in my view.

The debian package is created from cmake via make package. It is based on the build tree but as far as I understand it should follow the same structure as the installation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants