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.

93 lines
2.5 KiB

3 months ago
3 months ago
3 months ago
3 weeks ago
3 months ago
3 months ago
3 months ago
3 weeks ago
3 months ago
3 weeks ago
3 months ago
3 weeks ago
  1. FROM movesrwth/storm-basesystem:ubuntu-22.04 as build
  2. RUN apt-get update
  3. RUN apt-get install -y python3.10
  4. # Specify number of threads to use for parallel compilation
  5. # This number can be set from the commandline with:
  6. # --build-arg no_threads=<value>
  7. ARG no_threads=6
  8. # Build carl
  9. RUN git clone -b c++14-22.01 https://github.com/ths-rwth/carl.git /opt/carl
  10. RUN mkdir -p /opt/carl/build
  11. WORKDIR /opt/carl/build
  12. RUN cmake .. -DCMAKE_BUILD_TYPE=Release -DUSE_CLN_NUMBERS=ON -DUSE_GINAC=ON
  13. RUN make lib_carl -j $no_threads
  14. # Build tempest
  15. RUN git clone -b tempestpy_adaptions https://git.pranger.xyz/sp/tempest.git /opt/tempest
  16. RUN mkdir -p /opt/tempest/build
  17. WORKDIR /opt/tempest/build
  18. RUN cmake .. -DCMAKE_BUILD_TYPE=Release -DSTORM_DEVELOPER=OFF -DSTORM_LOG_DISABLE_DEBUG=ON -DSTORM_PORTABLE=OFF -DSTORM_USE_SPOT_SHIPPED=ON
  19. RUN make resources storm binaries -j $no_threads
  20. # Configure carl-parser
  21. RUN cmake .. -DCMAKE_BUILD_TYPE=$build_type
  22. # Manage python packages
  23. WORKDIR /opt/
  24. RUN apt-get update --fix-missing
  25. RUN apt-get install -y python3-venv
  26. # Python env handling
  27. ENV VIRTUAL_ENV=/opt/venv
  28. RUN python3 -m venv $VIRTUAL_ENV
  29. ENV PATH="$VIRTUAL_ENV/bin:$PATH"
  30. RUN apt-get install -y python3-pip
  31. # build pycarl
  32. RUN git clone -b 2.0.4 https://github.com/moves-rwth/pycarl.git /opt/pycarl
  33. WORKDIR /opt/pycarl
  34. RUN python setup.py build_ext -j $no_threads
  35. RUN pip install .
  36. # build tempestpy
  37. RUN git clone -b refactoring https://git.pranger.xyz/sp/tempestpy.git /opt/tempestpy
  38. WORKDIR /opt/tempestpy
  39. RUN python3 setup.py build_ext --storm-dir /opt/tempest/ -j $no_threads develop
  40. # build yaml-cpp
  41. COPY ./yaml-cpp /opt/yaml-cpp
  42. RUN mkdir -p /opt/yaml-cpp/build
  43. WORKDIR /opt/yaml-cpp/build
  44. RUN cmake .. -DCMAKE_BUILD_TYPE=Release
  45. RUN make -j $no_threads
  46. RUN make install -j $no_threads
  47. COPY ./Minigrid2PRISM /opt/Minigrid2PRISM
  48. # build minigrid to prism
  49. RUN mkdir -p /opt/Minigrid2PRISM/build
  50. WORKDIR /opt/Minigrid2PRISM/build
  51. RUN cmake ..
  52. RUN make -j $no_threads
  53. RUN apt-get update && apt-get install ffmpeg libsm6 libxext6 -y
  54. WORKDIR /opt/tempestpy
  55. RUN pip install dm-tree
  56. RUN pip install opencv-python
  57. RUN pip install scikit-image
  58. RUN pip install torch
  59. RUN pip install tensorboard
  60. RUN pip install tensorboardX
  61. RUN pip install tensorflow
  62. RUN pip install jupyterlab
  63. RUN pip install astar
  64. RUN pip install ipywidgets
  65. RUN pip install matplotlib
  66. RUN pip install sb3-contrib
  67. RUN pip install opencv-python
  68. RUN pip install moviepy
  69. RUN pip install gymnasium==0.29.0
  70. RUN pip install numpy==1.24.4
  71. ENV M2P_BINARY=/opt/Minigrid2PRISM/build/main
  72. RUN apt-get install bash -y
  73. ENTRYPOINT ["/bin/bash"]