This project contains all necessary resources to build a Docker container within which the MPMCA can be compiled and developed.
- Install Docker Engine on your system, see this page for instructions.
- Make sure all submodules are checked out by executing the command
git submodule update --init --recursivefrom the root directory of this repository.
- Execute the following command from the root directory of this repository to build the MPMCA docker container:
DOCKER_BUILDKIT=1 docker buildx build -t mpmca_20_04:v1 -f ubuntu_20_04/Dockerfile .
- Create a new volume called
docker volume create mpmca-develop-volume.
- After building, start the container using
docker run -ti --mount 'type=volume,src=mpmca-develop-volume,dst=/home/mpmca-user/projects/' mpmca_20_04:v1.
- You may wish to name the container and register it for automatic restarting using
docker run -ti --restart=always --name=mpmca_20_04_docker --mount 'type=volume,src=mpmca-develop-volume,dst=/home/mpmca-user/projects/' mpmca_20_04:v1.
You can copy the built binaries to an Ubuntu 20.04 system and run them with minimal dependencies.
The MPMCA applications will dynamically link against some libraries that are installed in the first
apt-get call, such as protobuf and libzstd.
If you cannot (or do not want to) install all packages that are installed through apt in the Docker image, use the
ldd command to find out what libraries are required for the particular executable you want to run.
To install all dependencies locally on an Ubuntu installation, follow the commands in the
Note that you should check out the exact same commits of all dependencies as the ones in the Docker project.