You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

55 lines
2.2 KiB

  1. #Create a package for Offline installation
  2. On this page we detail steps to obtain an installation package that can be used to install Storm on a system without an internet connection.
  3. This is usefull, e.g., for long term archiving where we can not be sure how long dependencies will be available.
  4. We assume that there is a fixed reference system based on Ubuntu which is not going to change (e.g. a Virtual Machine that will be made available)
  5. Since we can not simply execute `apt-get install ...`, the dependencies (and their dependencies...) have to be included in the installation package.
  6. The easiest way to do that is to tell `apt-get` to only download the packages and to put them into a directory you like (lets say the current working directory `.`):
  7. ```console
  8. sudo apt-get -d -o Dir::Cache=. -o DIR::Cache::archives=. install <Packages>
  9. ```
  10. Replace `<Packages>` with the packages you need (see stormchecker.org for more info).
  11. The downloaded `*.deb` files have to be included in the installation package.
  12. Apart from that we will need to download the sources from _carl_ (recall to use the master14 branch) and, of course, the storm sources.
  13. We currently checkout the _l3pp_ git during the building process. You might need to adapt the l3pp section in `$STORMDIR/resources/3rdparty/CMakeLists.txt` by removing the `GIT_REPOSITORY ...` and `GIT_TAG ...` arguments.
  14. Assuming that the directory `dependencies` contains the `*.deb` files, and `carl` and `storm` contain the source files of carl and storm, respecteively, an installation script can look as follows:
  15. ```console
  16. #!/bin/bash
  17. # Get the number of available threads for multithreaded compiling
  18. $THREADS=$(nproc)
  19. # cd to the directory where the script lies in
  20. cd "$( dirname "${BASH_SOURCE[0]}" )"
  21. echo "Installing dependencies. You might need to enter the root password 'tacas20ae'"
  22. cd dependencies
  23. sudo dpkg -i *.deb
  24. cd ..
  25. echo "Installing carl using $THREADS threads"
  26. cd carl
  27. mkdir build
  28. cd build
  29. cmake .. -DUSE_CLN_NUMBERS=ON -DUSE_GINAC=ON
  30. make lib_carl -j$THREADS
  31. cd ../../
  32. echo "Installing Storm using $THREADS threads"
  33. cd storm
  34. mkdir build
  35. cd build
  36. cmake ..
  37. make storm-main -j$THREADS
  38. cd ../../
  39. echo "Installation successfull."
  40. ```