Installing DMTCP
Prerequisites
On debian, you need to install some prerequisties:
sudo apt install git gcc g++ make -y
And install python3 if you need the tests:
sudo apt install python3 -y
Build instructions
To build, use:
./configure
make
# [Optional]
make check
As usual, you may prefer to use make with '-j' for faster, parallel builds.
This software runs in the original directory, and
make install
will install to the install directory based on configure.
Distribution packages for Debian/Ubuntu, OpenSUSE and Fedora are available in their respective repositories.
Multilib support
To support multilib (mixed use of 32- and 64-bit applications), there are two possibilities:
- Install both the 32- and 64-bit versions of DMTCP packages for your distro. OR:
- Build from source:
./configure make # Do NOT do 'make clean' here. You will lose bin/dmtcp_launch, etc. ./configure --enable-m32 make clean # This won't remove the 64-bit binary and library files. make # Optionally, change 'make' to 'make install'' if desired.
When running DMTCP with multilib support, the 64-bit applications, dmtcp_launch, dmtcp_restart, and dmtcp_command all inter-operate with both 32- and 64-bit applications.
If your process will create multiple processes, you should use standard DMTCP. A brief overview follows. The general methodology is:
./dmtcp_coordinator #in one window: type h to the coordinator to see commands
./dmtcp_launch a.out <args,...>
Note that files /tmp/${USER}/dmtcp-${USER}@${HOST}/jassertlog.* are created with debugging information if you configured with --enable-debug. See ./configure --help for that and other options.
See the file QUICK-START.md for further information on using DMTCP.
Running without a separate coordinator process:
Usually, the most convenient procedure is to use DMTCP in its default mode, which includes a separate DMTCP coordinator process. In some rare cases, you may wish to avoid a separate coordinator process by providing a --no-coordinator flag to dmtcp_launch. Multiprocess computations are not supported with this flag.