Skip to content

Build ePMC under Debian based Linux Distributions

Yi Li edited this page Dec 21, 2016 · 13 revisions

Supported OS Versions

This tutorial has been tested on the following distributions:

  • Ubuntu 16.04 LTS, 64-bits
  • Ubuntu 14.04 LTS, 64-bits (todo)

Obtaining our Source Code

You need git or subversion to fetch our code from github (private svn repo currently).

sudo apt-get install subversion

And check out the source code to anywhere you like,

svn co http://124.16.137.63/svn/iscasmc/tool/ iscasmc

Where the later iscasmc can be replaced by any folder name you prefer. As this tool contains a lot of plugins, you may need to wait for a few minutes.

Installing Dependencies

Java Development Kit (JDK 8.0+)

As some of our plugins depend on some features that openjdk doesn't support, we strongly suggest you to choose Oracle JDK instead. And the version should not be earlier than 8.0.

First, you should download JDK (8.0+) for linux from the offcial web site. Or simply use the following command to download JDK 8u111(64-bit version).

wget http://222.29.159.114/files/522600000015DC81/download.oracle.com/otn-pub/java/jdk/8u111-b14/jdk-8u111-linux-x64.tar.gz
tar -xvf jdk-8u111-linux-x64.tar.gz
sudo mv jdk1.8.0_111 /usr/lib/jvm/oracle-jdk8

You need to set this jdk as the default one, by

sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/oracle-jdk8/bin/java 1
sudo update-alternatives --config java

and choose oracle jdk in the list.

Besides, you still have to set up the environment variables manually in .bashrc.

export JAVA_HOME=/usr/lib/jvm/oracle-jdk8
export PATH=$JAVA_HOME/bin:$PATH

Maven

Maven is a software project management and comprehension tool. It can be downloaded from the maven website (http://maven.apache.org/). This is needed to manage the compilation of the several components of IscasMC.

We can simply use apt to install maven:

sudo apt-get install maven

Build the Core Engine

cd iscasmc
mvn package

Building Plugins

cd plugins
./build.sh

Building Model Checker based on Presets

TBD.

FAQ

TBD.