Browse Source
Added some document explaining how one can build a package for offline installation of storm.
tempestpy_adaptions
Added some document explaining how one can build a package for offline installation of storm.
tempestpy_adaptions
Tim Quatmann
5 years ago
1 changed files with 55 additions and 0 deletions
@ -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." |
|||
``` |
Write
Preview
Loading…
Cancel
Save
Reference in new issue