Published December 21, 2021 | Version v1
Software Open

iFM 2022 Virtual Machine

  • 1. Technische Universität Darmstadt
  • 2. CNR-ISTI

Description

This artifact contains the virtual machine used during artifact evaluation for iFM 2022. It was created with VirtualBox 6.1.26 and consists of an installation of Ubuntu 20.04.03 with Linux 5.11.0- -40 and the following notable packages.

  • A 32bit libc

  • clang 12.0.0

  • gcc and g++ (version 9.3.0)

  • Mono 6.12.0.122

  • OCaml 4.13.1 and OPAM 2.1.0

  • OpenJDK 11.0.11 (default), and OpenJDK 16.0.

  • Python 2.7.18, Python 3.8.10, and pip3 (pip 20.0.2)

  • Ruby 2.7.0p0

  • bash 5.0.17(1)

  • cmake 3.16.3

  • GNU Make 4.2.1

  • BenchExec 3.9

  • VIM 8.1

  • Emacs 26.3

  • VirtualBox guest additions 6.1.28

The login and password of the default user are:

ifm2022/ ifm2022 

The root user has the same password.

In order to save space, the VM does not have an active swap file. Please mention in your submission if you expect that a swap file is needed. You can activate swap for the running session using the following commands.

sudo fallocate -l 1G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

To switch between Java runtimes and Java compilers, you can use

sudo update-alternatives --config java
sudo update-alternatives --config javac

The VM is intended to be used to evaluate artifacts that are self-contained, i.e., that contain the artifact (data, software, etc.) and all necessary dependencies (e.g., software packages).

To include an Ubuntu package in your artifact submission, you can provide a .deb file with all the necessary dependencies and install them as follows.

sudo dpkg -i <.deb file>

You can get the necessary .deb files for example as follows:

  • If you have only one package without dependencies, you can use

    apt-get download <packagename>

     

  • If you have only one package without dependencies but with local modifications, e.g., particular configuration files, you can use the dpkg-repack utility.

If you have a package with multiple dependencies, you can use wget together with apt to download them all and put them into a folder:
 

wget $(apt-get install --reinstall --print-uris -qq <packagename> | cut -d"'" -f2)


Alternatively, you may run the following code.
 

sudo apt-get update
apt-get --print-uris install <packagename> | grep -oP "(?<=').*(?=')" > <filename>
for i in $(cat <filename>) ; do wget -nv $i ; done

 

You can include required OCaml packages not present in our installation via OPAM. To this end, you may want to download the packages, e.g., using the following command.

opam install --download-only --destdir=<dir> <package>

To install all packages available in <dir> in the VM, use the following command:

opam install <dir>

 

You may include the required Python packages using pip. You can get the necessary files for example as follows:

pip3 download <package>

The downloaded package can then be installed using

pip3 install <package-file>

 

To provide missing Ruby Gem packages, you may download them via

gem fetch <gem>

and install them, e.g., via

gem install <gem-file>

 

Files

Files (4.1 GB)

Name Size Download all
md5:defd54595fbcdd03a7eef9b552d4e284
4.1 GB Download