Skip to content

Creating Debian packages#732

Merged
volkm merged 2 commits intostormchecker:masterfrom
volkm:deb
Apr 9, 2026
Merged

Creating Debian packages#732
volkm merged 2 commits intostormchecker:masterfrom
volkm:deb

Conversation

@volkm
Copy link
Copy Markdown
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
Copy Markdown
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?

Comment thread resources/cmake/stormCPackConfig.cmake
@volkm
Copy link
Copy Markdown
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.

runs-on: ${{ matrix.platform.runner }}
strategy:
matrix:
distro:
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is ubuntu:rolling the same as ubuntu 25.10 right now?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

26.04 will be out on April 23rd

@volkm volkm merged commit b4efb6c into stormchecker:master Apr 9, 2026
22 checks passed
@volkm volkm deleted the deb branch April 9, 2026 13:14
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