openmpp/openmpp-build
Docker image to build openM++ latest version and models
1.5K
Pull the image and use it to build latest openM++ version from source code. This is a part of OpenM++ open source microsimulation platform. Please visit our wiki for more information.
openmpp/openmpp-build:windows-20H2
openmpp/openmpp-build:debian
openmpp/openmpp-build:debian-11
openmpp/openmpp-build:ubuntu
openmpp/openmpp-build:redhat
openmpp/openmpp-build:windows-20H2
Pull: docker pull openmpp/openmpp-build:windows-20H2
GitHub: https://github.com/openmpp/docker/tree/master/ompp-build-win
From: windows/servercore:20H2
Installed: Visual C++ 2019 development tools and MSBuild, Microsoft MPI and SDK, git, bison, flex, SQLite, Go, MinGW, R, node.js, Perl, 7zip, curl
openmpp/openmpp-build:debian
Pull: docker pull openmpp/openmpp-build:debian
GitHub: https://github.com/openmpp/docker/tree/master/ompp-build-linux
From: debian:stable
Installed: gcc-c++, Open MPI, make, bison, flex, git, SQLite, Go, unixODBC, R, node.js
openmpp/openmpp-build:debian-11
Pull: docker pull openmpp/openmpp-build:debian-11
GitHub: https://github.com/openmpp/docker/tree/master/ompp-build-linux
From: debian:11
Installed: gcc-c++, Open MPI, make, bison, flex, git, SQLite, Go, unixODBC, R, node.js
openmpp/openmpp-build:ubuntu
Pull: docker pull openmpp/openmpp-build:ubuntu
GitHub: https://github.com/openmpp/docker/tree/master/ompp-build-linux
From: ubuntu:22.04
Installed: gcc-c++, Open MPI, make, bison, flex, git, SQLite, Go, unixODBC, R, node.js
openmpp/openmpp-build:redhat
Pull: docker pull openmpp/openmpp-build:redhat
GitHub: https://github.com/openmpp/docker/tree/master/ompp-build-linux
From: rockylinux/rockylinux:9
Installed: gcc-c++, Open MPI, make, bison, flex, git, SQLite, Go, unixODBC, R, node.js
User: ompp
openmpp/openmpp-build:windows-20H2
imageTo build openM++ do:
docker run .... openmpp/openmpp-build:windows-20H2 build-all
Examples:
docker run -v C:\my\build:C:\build openmpp/openmpp-build:windows-20H2 build-all
docker run -v C:\my\build:C:\build -e OM_BUILD_PLATFORMS=x64 openmpp/openmpp-build:windows-20H2 build-all
docker run -v C:\my\build:C:\build -e MODEL_DIRS=RiskPaths openmpp/openmpp-build:windows-20H2 build-all
Environment variables:
set OMPP_BUILD_TAG=v1.2.3 (default: build from latest git)
set OM_BUILD_CONFIGS=Release,Debug (default: Release)
set OM_BUILD_PLATFORMS=Win32,x64 (default: Win32)
set OM_MSG_USE=MPI (default: EMPTY)
set OM_DATE_STAMP=20220817 (default: current date as YYYYMMDD)
set MODEL_DIRS=modelOne,NewCaseBased,NewTimeBased,NewCaseBased_bilingual,IDMM,RiskPaths,OzProjGenX,OzProjX
To build only openM++ libraries and omc compiler do:
docker run .... openmpp/openmpp-build:windows-20H2 build-openm
Environment variables to control build-openm
: OM_BUILD_CONFIGS, OM_BUILD_PLATFORMS, OM_MSG_USE
To build models do:
docker run .... openmpp/openmpp-build:windows-20H2 build-models
Environment variables to control build-models
: OM_BUILD_CONFIGS, OM_BUILD_PLATFORMS, OM_MSG_USE, MODEL_DIRS
To build openM++ tools do any of:
docker run .... openmpp/openmpp-build:windows-20H2 build-go # Go oms web-service and dbcopy utility
docker run .... openmpp/openmpp-build:windows-20H2 build-r # openMpp R package
docker run .... openmpp/openmpp-build:windows-20H2 build-perl # Perl utilities
docker run .... openmpp/openmpp-build:windows-20H2 build-ui # openM++ UI
To create openmpp_win_YYYYMMDD.zip
archive:
docker run .... openmpp/openmpp-build:windows-20H2 build-zip
Environment variables to control build-zip
: OM_MSG_USE, MODEL_DIRS, OM_DATE_STAMP
To open cmd command prompt or Perl command prompt:
docker run .... -it openmpp/openmpp-build:windows-20H2 cmd
docker run .... -it openmpp/openmpp-build:windows-20H2 C:\perl32\portableshell
openmpp/openmpp-build:debian
imageTo build openM++ do:
docker run ....options... openmpp/openmpp-build:debian ./build-all
To build openM++ documentation:
docker run ....options... openmpp/openmpp-build:debian ./make-doc
Examples:
docker run \
-v $HOME/build:/home/build \
-e OMPP_USER=build -e OMPP_GROUP=build -e OMPP_UID=$UID -e OMPP_GID=`id -g` \
-e OMPP_BUILD_TAG=v1.2.3 \
openmpp/openmpp-build:debian \
./build-all
docker run \
-v $HOME/build_mpi:/home/build_mpi \
-e OMPP_USER=build_mpi -e OMPP_GROUP=build_mpi -e OMPP_UID=$UID -e OMPP_GID=`id -g` \
-e OMPP_BUILD_TAG=v1.2.3 \
-e OM_MSG_USE=MPI \
openmpp/openmpp-build:debian \
./build-all
docker run \
-v $HOME/build_doc:/home/build_doc \
-e OMPP_USER=build_doc -e OMPP_GROUP=build_doc -e OMPP_UID=$UID -e OMPP_GID=`id -g` \
-e OMPP_BUILD_TAG=v1.2.3 \
openmpp/openmpp-build:debian \
./make-doc
docker run \
-v $HOME/build_r:/home/build_r \
-e OMPP_USER=build_r -e OMPP_GROUP=build_r -e OMPP_UID=$UID -e OMPP_GID=`id -g` \
-e OMPP_BUILD_TAG=v1.2.3 \
openmpp/openmpp-build:debian \
./make-r
docker run ....user, group, home.... -e MODEL_DIRS=RiskPaths,IDMM openmpp/openmpp-build:debian ./build-all
docker run ....user, group, home.... -e OM_BUILD_CONFIGS=RELEASE,DEBUG openmpp/openmpp-build:debian ./build-all
docker run ....user, group, home.... -e OM_MSG_USE=MPI openmpp/openmpp-build:debian ./build-all
Environment variables to control build:
OMPP_BUILD_TAG=v1.2.3 # default: build from latest git
OM_BUILD_CONFIGS=RELEASE,DEBUG # default: RELEASE,DEBUG for libraries and RELEASE for models
OM_MSG_USE=MPI # default: EMPTY
OM_DATE_STAMP=20220817 # default: current date as YYYYMMDD
MODEL_DIRS=modelOne,NewCaseBased,NewTimeBased,NewCaseBased_bilingual,IDMM,RiskPaths,OzProjGenX,OzProjX
Environment variables to pass your current user and home directory to container:
OMPP_USER=ompp # default: ompp, container user name and HOME
OMPP_GROUP=ompp # default: ompp, container group name
OMPP_UID=1999 # default: 1999, container user ID
OMPP_GID=1999 # default: 1999, container group ID
To build only openM++ libraries and omc compiler do:
docker run .... openmpp/openmpp-build:debian ./build-openm
Environment variables to control build-openm
: OMPP_BUILD_TAG, OM_BUILD_CONFIGS, OM_MSG_USE
To build only models do:
docker run .... openmpp/openmpp-build:debian ./build-models
Environment variables to control build-models
: OM_BUILD_CONFIGS, OM_MSG_USE, MODEL_DIRS
To build openM++ tools do any of:
docker run .... openmpp/openmpp-build:debian ./build-go # Go oms web-service and dbcopy utility
docker run .... openmpp/openmpp-build:debian ./build-r # openMpp R package
docker run .... openmpp/openmpp-build:debian ./build-ui # openM++ UI
To create openmpp_debian_YYYYMMDD.tar.gz
archive:
docker run .... openmpp/openmpp-build:debian ./build-tar-gz
Environment variables to control build-tar-gz
: OMPP_BUILD_TAG, OM_MSG_USE, MODEL_DIRS, OM_DATE_STAMP
To create a new version of openmpp_doc_YYYYMMDD.zip
documentation archive:
docker run .... openmpp/openmpp-build:debian ./make-doc
To create a new version of openMpp_x.y.z.tar.gz R package:
docker run .... openmpp/openmpp-build:debian ./make-r
To start shell do:
docker run .... -it openmpp/openmpp-build:debian bash
openmpp/openmpp-build:ubuntu
imageTo build openM++ do:
sudo docker run ....options... openmpp/openmpp-build:ubuntu ./build-all
Examples:
sudo docker run \
-v $HOME/build:/home/build \
-e OMPP_USER=build -e OMPP_GROUP=build -e OMPP_UID=$UID -e OMPP_GID=`id -g` \
-e OMPP_BUILD_TAG=v1.2.3 \
openmpp/openmpp-build:ubuntu \
./build-all
sudo docker run \
-v $HOME/build_mpi:/home/build_mpi \
-e OMPP_USER=build_mpi -e OMPP_GROUP=build_mpi -e OMPP_UID=$UID -e OMPP_GID=`id -g` \
-e OMPP_BUILD_TAG=v1.2.3 \
-e OM_MSG_USE=MPI \
openmpp/openmpp-build:ubuntu \
./build-all
sudo docker run ....user, group, home.... -e MODEL_DIRS=RiskPaths,IDMM openmpp/openmpp-build:ubuntu ./build-all
sudo docker run ....user, group, home.... -e OM_BUILD_CONFIGS=RELEASE,DEBUG openmpp/openmpp-build:ubuntu ./build-all
sudo docker run ....user, group, home.... -e OM_MSG_USE=MPI openmpp/openmpp-build:ubuntu ./build-all
Environment variables to control build:
OMPP_BUILD_TAG=v1.2.3 # default: build from latest git
OM_BUILD_CONFIGS=RELEASE,DEBUG # default: RELEASE,DEBUG for libraries and RELEASE for models
OM_MSG_USE=MPI # default: EMPTY
OM_DATE_STAMP=20220817 # default: current date as YYYYMMDD
MODEL_DIRS=modelOne,NewCaseBased,NewTimeBased,NewCaseBased_bilingual,IDMM,RiskPaths,OzProjGenX,OzProjX
Environment variables to pass your current user and home directory to container:
OMPP_USER=ompp # default: ompp, container user name and HOME
OMPP_GROUP=ompp # default: ompp, container group name
OMPP_UID=1999 # default: 1999, container user ID
OMPP_GID=1999 # default: 1999, container group ID
To build only openM++ libraries and omc compiler do:
sudo docker run .... openmpp/openmpp-build:ubuntu ./build-openm
Environment variables to control build-openm
: OMPP_BUILD_TAG, OM_BUILD_CONFIGS, OM_MSG_USE
To build only models do:
sudo docker run .... openmpp/openmpp-build:ubuntu ./build-models
Environment variables to control build-models
: OM_BUILD_CONFIGS, OM_MSG_USE, MODEL_DIRS
To build openM++ tools do any of:
sudo docker run .... openmpp/openmpp-build:ubuntu ./build-go # Go oms web-service and dbcopy utility
sudo docker run .... openmpp/openmpp-build:ubuntu ./build-r # openMpp R package
sudo docker run .... openmpp/openmpp-build:ubuntu ./build-ui # openM++ UI
To create openmpp_ubuntu_YYYYMMDD.tar.gz
archive:
sudo docker run .... openmpp/openmpp-build:ubuntu ./build-tar-gz
Environment variables to control build-tar-gz
: OMPP_BUILD_TAG, OM_MSG_USE, MODEL_DIRS, OM_DATE_STAMP
To start shell do:
sudo docker run .... -it openmpp/openmpp-build:ubuntu bash
openmpp/openmpp-build:redhat
imageTo build openM++ do:
podman run ....options... openmpp/openmpp-build:redhat ./build-all
Examples:
podman run \
-userns=host \
-v $HOME/build:/home/build:z \
-e OMPP_USER=build \
-e OMPP_BUILD_TAG=v1.2.3 \
openmpp/openmpp-build:redhat \
./build-all
podman run \
-userns=host \
-v $HOME/build_mpi:/home/build_mpi:z \
-e OMPP_USER=build_mpi \
-e OMPP_BUILD_TAG=v1.2.3 \
-e OM_MSG_USE=MPI \
openmpp/openmpp-build:redhat \
./build-all
podman run .... -e MODEL_DIRS=RiskPaths,IDMM openmpp/openmpp-build:redhat ./build-all
podman run .... -e OM_BUILD_CONFIGS=RELEASE,DEBUG openmpp/openmpp-build:redhat ./build-all
podman run .... -e OM_MSG_USE=MPI openmpp/openmpp-build:redhat ./build-all
Environment variables to control build:
OMPP_BUILD_TAG=v1.2.3 # default: build from latest git
OM_BUILD_CONFIGS=RELEASE,DEBUG # default: RELEASE,DEBUG for libraries and RELEASE for models
OM_MSG_USE=MPI # default: EMPTY
OM_DATE_STAMP=20220817 # default: current date as YYYYMMDD
MODEL_DIRS=modelOne,NewCaseBased,NewTimeBased,NewCaseBased_bilingual,IDMM,RiskPaths,OzProjGenX,OzProjX
Environment variables to pass your current user and home directory to container:
OMPP_USER=ompp # default: ompp, container user name and HOME dir
To build only openM++ libraries and omc compiler do:
podman run .... openmpp/openmpp-build:redhat ./build-openm
Environment variables to control build-openm
: OMPP_BUILD_TAG, OM_BUILD_CONFIGS, OM_MSG_USE
To build only models do:
podman run .... openmpp/openmpp-build:redhat ./build-models
Environment variables to control build-models
: OM_BUILD_CONFIGS, OM_MSG_USE, MODEL_DIRS
To build openM++ tools do any of:
podman run .... openmpp/openmpp-build:redhat ./build-go # Go oms web-service and dbcopy utility
podman run .... openmpp/openmpp-build:redhat ./build-r # openMpp R package
podman run .... openmpp/openmpp-build:redhat ./build-ui # openM++ UI
To create openmpp_redhat_YYYYMMDD.tar.gz
archive:
podman run .... openmpp/openmpp-build:redhat ./build-tar-gz
Environment variables to control build-tar-gz
: OMPP_BUILD_TAG, OM_MSG_USE, MODEL_DIRS, OM_DATE_STAMP
To start shell do:
podman run -it openmpp/openmpp-build:redhat bash
OpenM++ licensed under MIT, image OS and components has it own licensing terms.
docker pull openmpp/openmpp-build