Browse Source

Added some document explaining how one can build a package for offline installation of storm.

tempestpy_adaptions
Tim Quatmann 5 years ago
parent
commit
a73035efdf
  1. 55
      doc/offline_package.md

55
doc/offline_package.md

@ -0,0 +1,55 @@
#Create a package for Offline installation
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.
This is usefull, e.g., for long term archiving where we can not be sure how long dependencies will be available.
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)
Since we can not simply execute `apt-get install ...`, the dependencies (and their dependencies...) have to be included in the installation package.
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 `.`):
```console
sudo apt-get -d -o Dir::Cache=. -o DIR::Cache::archives=. install <Packages>
```
Replace `<Packages>` with the packages you need (see stormchecker.org for more info).
The downloaded `*.deb` files have to be included in the installation package.
Apart from that we will need to download the sources from _carl_ (recall to use the master14 branch) and, of course, the storm sources.
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.
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:
```console
#!/bin/bash
# Get the number of available threads for multithreaded compiling
$THREADS=$(nproc)
# cd to the directory where the script lies in
cd "$( dirname "${BASH_SOURCE[0]}" )"
echo "Installing dependencies. You might need to enter the root password 'tacas20ae'"
cd dependencies
sudo dpkg -i *.deb
cd ..
echo "Installing carl using $THREADS threads"
cd carl
mkdir build
cd build
cmake .. -DUSE_CLN_NUMBERS=ON -DUSE_GINAC=ON
make lib_carl -j$THREADS
cd ../../
echo "Installing Storm using $THREADS threads"
cd storm
mkdir build
cd build
cmake ..
make storm-main -j$THREADS
cd ../../
echo "Installation successfull."
```
Loading…
Cancel
Save