From 765890f3f228915b651afcc43eabc7843c605768 Mon Sep 17 00:00:00 2001
From: Matthias Volk <matthias.volk@cs.rwth-aachen.de>
Date: Mon, 2 Oct 2017 12:11:05 +0200
Subject: [PATCH 1/9] Moved dockerfiles to own repository

---
 travis/dockerfiles/Dockerfile.debian-9     | 16 ----------------
 travis/dockerfiles/Dockerfile.storm        |  8 --------
 travis/dockerfiles/Dockerfile.ubuntu-16.10 | 17 -----------------
 travis/dockerfiles/build_carl.sh           |  9 ---------
 travis/dockerfiles/build_docker.sh         |  9 ---------
 travis/dockerfiles/build_storm.sh          |  9 ---------
 6 files changed, 68 deletions(-)
 delete mode 100644 travis/dockerfiles/Dockerfile.debian-9
 delete mode 100644 travis/dockerfiles/Dockerfile.storm
 delete mode 100644 travis/dockerfiles/Dockerfile.ubuntu-16.10
 delete mode 100755 travis/dockerfiles/build_carl.sh
 delete mode 100755 travis/dockerfiles/build_docker.sh
 delete mode 100755 travis/dockerfiles/build_storm.sh

diff --git a/travis/dockerfiles/Dockerfile.debian-9 b/travis/dockerfiles/Dockerfile.debian-9
deleted file mode 100644
index 3735b38fd..000000000
--- a/travis/dockerfiles/Dockerfile.debian-9
+++ /dev/null
@@ -1,16 +0,0 @@
-FROM debian:9
-MAINTAINER Matthias Volk <matthias.volk@cs.rwth-aachen.de>
-
-RUN apt-get update -qq && apt-get install -y --no-install-recommends \
-    build-essential \
-    ruby \
-    git \
-    cmake \
-    libboost-all-dev \
-    libcln-dev \
-    libeigen3-dev \
-    libgmp-dev \
-    libginac-dev \
-    automake \
-    libglpk-dev \
-    libz3-dev
diff --git a/travis/dockerfiles/Dockerfile.storm b/travis/dockerfiles/Dockerfile.storm
deleted file mode 100644
index 272b97825..000000000
--- a/travis/dockerfiles/Dockerfile.storm
+++ /dev/null
@@ -1,8 +0,0 @@
-FROM mvolk/storm-basesystem:ubuntu-16.10
-MAINTAINER Matthias Volk <matthias.volk@cs.rwth-aachen.de>
-
-COPY build_carl.sh /opt
-RUN cd opt && ./build_carl.sh
-
-COPY build_storm.sh /opt
-RUN cd opt && ./build_storm.sh
diff --git a/travis/dockerfiles/Dockerfile.ubuntu-16.10 b/travis/dockerfiles/Dockerfile.ubuntu-16.10
deleted file mode 100644
index a612faccb..000000000
--- a/travis/dockerfiles/Dockerfile.ubuntu-16.10
+++ /dev/null
@@ -1,17 +0,0 @@
-FROM ubuntu:16.10
-MAINTAINER Matthias Volk <matthias.volk@cs.rwth-aachen.de>
-
-RUN apt-get update -qq && apt-get install -y --no-install-recommends \
-    build-essential \
-    ruby \
-    git \
-    cmake \
-    libboost-all-dev \
-    libcln-dev \
-    libeigen3-dev \
-    libgmp-dev \
-    libginac-dev \
-    automake \
-    libglpk-dev \
-    libhwloc-dev \
-    libz3-dev
diff --git a/travis/dockerfiles/build_carl.sh b/travis/dockerfiles/build_carl.sh
deleted file mode 100755
index fc3d43d22..000000000
--- a/travis/dockerfiles/build_carl.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/bash
-echo "Building Carl..."
-git clone https://github.com/smtrat/carl.git
-cd carl
-mkdir build
-cd build
-cmake .. -DCMAKE_BUILD_TYPE=Release -DUSE_CLN_NUMBERS=ON -DUSE_GINAC=ON
-make lib_carl -j2
-echo "Building Carl finished"
diff --git a/travis/dockerfiles/build_docker.sh b/travis/dockerfiles/build_docker.sh
deleted file mode 100755
index 280710566..000000000
--- a/travis/dockerfiles/build_docker.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/bash
-
-# Build Ubuntu 16.10 "Yakkety Yak"
-docker build -t mvolk/storm-basesystem:ubuntu-16.10 -f Dockerfile.ubuntu-16.10 .
-docker push mvolk/storm-basesystem:ubuntu-16.10
-
-# Build Debian 9 "Stretch"
-docker build -t mvolk/storm-basesystem:debian-9 -f Dockerfile.debian-9 .
-docker push mvolk/storm-basesystem:debian-9
diff --git a/travis/dockerfiles/build_storm.sh b/travis/dockerfiles/build_storm.sh
deleted file mode 100755
index 4c11b708d..000000000
--- a/travis/dockerfiles/build_storm.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/bash
-echo "Building Storm..."
-git clone https://github.com/moves-rwth/storm.git
-cd storm
-mkdir build
-cd build
-cmake .. -DCMAKE_BUILD_TYPE=Release
-make storm storm-dft storm-pars -j1
-echo "Building Storm finished"

From bc0e432e116705dab6a508ca29a7b82ac8c645bc Mon Sep 17 00:00:00 2001
From: Matthias Volk <matthias.volk@cs.rwth-aachen.de>
Date: Mon, 2 Oct 2017 14:17:24 +0200
Subject: [PATCH 2/9] Changed compilers in travis

---
 .travis.yml               | 74 +++++++++++++++++++--------------------
 travis/build-helper.sh    | 51 +++++----------------------
 travis/generate_travis.py |  6 ++--
 travis/install_linux.sh   |  2 +-
 travis/install_osx.sh     | 19 ++++------
 5 files changed, 56 insertions(+), 96 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 2b5f50657..697118347 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -7,6 +7,7 @@ branches:
   only:
   - master
   - stable
+sudo: required
 dist: trusty
 language: cpp
 
@@ -20,7 +21,6 @@ cache:
 # Enable docker support
 services:
 - docker
-sudo: required
 
 notifications:
   email:
@@ -42,8 +42,8 @@ jobs:
     # osx
     - stage: Build (1st run)
       os: osx
-      compiler: clang
-      env: CONFIG=DefaultDebug COMPILER=clang-4.0 STL=libc++
+      compiler: apple-clang
+      env: CONFIG=DefaultDebug COMPILER=apple-clang STL=libc++
       install:
         - rm -rf build
         - travis/install_osx.sh
@@ -53,8 +53,8 @@ jobs:
         - find build -iname '*err*.log' -type f -print -exec cat {} \;
     - stage: Build (1st run)
       os: osx
-      compiler: clang
-      env: CONFIG=DefaultRelease COMPILER=clang-4.0 STL=libc++
+      compiler: apple-clang
+      env: CONFIG=DefaultRelease COMPILER=apple-clang STL=libc++
       install:
         - rm -rf build
         - travis/install_osx.sh
@@ -66,7 +66,7 @@ jobs:
     - stage: Build (1st run)
       os: linux
       compiler: gcc
-      env: CONFIG=DefaultDebug LINUX=ubuntu-16.10 COMPILER=gcc-6
+      env: CONFIG=DefaultDebug LINUX=ubuntu-16.10 COMPILER=gcc
       install:
         - rm -rf build
         - travis/install_linux.sh
@@ -79,7 +79,7 @@ jobs:
     - stage: Build (1st run)
       os: linux
       compiler: gcc
-      env: CONFIG=DefaultRelease LINUX=ubuntu-16.10 COMPILER=gcc-6
+      env: CONFIG=DefaultRelease LINUX=ubuntu-16.10 COMPILER=gcc
       install:
         - rm -rf build
         - travis/install_linux.sh
@@ -97,8 +97,8 @@ jobs:
     # osx
     - stage: Build (2nd run)
       os: osx
-      compiler: clang
-      env: CONFIG=DefaultDebug COMPILER=clang-4.0 STL=libc++
+      compiler: apple-clang
+      env: CONFIG=DefaultDebug COMPILER=apple-clang STL=libc++
       install:
         - travis/install_osx.sh
       script:
@@ -107,8 +107,8 @@ jobs:
         - find build -iname '*err*.log' -type f -print -exec cat {} \;
     - stage: Build (2nd run)
       os: osx
-      compiler: clang
-      env: CONFIG=DefaultRelease COMPILER=clang-4.0 STL=libc++
+      compiler: apple-clang
+      env: CONFIG=DefaultRelease COMPILER=apple-clang STL=libc++
       install:
         - travis/install_osx.sh
       script:
@@ -119,7 +119,7 @@ jobs:
     - stage: Build (2nd run)
       os: linux
       compiler: gcc
-      env: CONFIG=DefaultDebug LINUX=ubuntu-16.10 COMPILER=gcc-6
+      env: CONFIG=DefaultDebug LINUX=ubuntu-16.10 COMPILER=gcc
       install:
         - travis/install_linux.sh
       script:
@@ -131,7 +131,7 @@ jobs:
     - stage: Build (2nd run)
       os: linux
       compiler: gcc
-      env: CONFIG=DefaultRelease LINUX=ubuntu-16.10 COMPILER=gcc-6
+      env: CONFIG=DefaultRelease LINUX=ubuntu-16.10 COMPILER=gcc
       install:
         - travis/install_linux.sh
       script:
@@ -148,8 +148,8 @@ jobs:
     # osx
     - stage: Build (3rd run)
       os: osx
-      compiler: clang
-      env: CONFIG=DefaultDebug COMPILER=clang-4.0 STL=libc++
+      compiler: apple-clang
+      env: CONFIG=DefaultDebug COMPILER=apple-clang STL=libc++
       install:
         - travis/install_osx.sh
       script:
@@ -158,8 +158,8 @@ jobs:
         - find build -iname '*err*.log' -type f -print -exec cat {} \;
     - stage: Build (3rd run)
       os: osx
-      compiler: clang
-      env: CONFIG=DefaultRelease COMPILER=clang-4.0 STL=libc++
+      compiler: apple-clang
+      env: CONFIG=DefaultRelease COMPILER=apple-clang STL=libc++
       install:
         - travis/install_osx.sh
       script:
@@ -170,7 +170,7 @@ jobs:
     - stage: Build (3rd run)
       os: linux
       compiler: gcc
-      env: CONFIG=DefaultDebug LINUX=ubuntu-16.10 COMPILER=gcc-6
+      env: CONFIG=DefaultDebug LINUX=ubuntu-16.10 COMPILER=gcc
       install:
         - travis/install_linux.sh
       script:
@@ -182,7 +182,7 @@ jobs:
     - stage: Build (3rd run)
       os: linux
       compiler: gcc
-      env: CONFIG=DefaultRelease LINUX=ubuntu-16.10 COMPILER=gcc-6
+      env: CONFIG=DefaultRelease LINUX=ubuntu-16.10 COMPILER=gcc
       install:
         - travis/install_linux.sh
       script:
@@ -199,8 +199,8 @@ jobs:
     # osx
     - stage: Build (4th run)
       os: osx
-      compiler: clang
-      env: CONFIG=DefaultDebug COMPILER=clang-4.0 STL=libc++
+      compiler: apple-clang
+      env: CONFIG=DefaultDebug COMPILER=apple-clang STL=libc++
       install:
         - travis/install_osx.sh
       script:
@@ -209,8 +209,8 @@ jobs:
         - find build -iname '*err*.log' -type f -print -exec cat {} \;
     - stage: Build (4th run)
       os: osx
-      compiler: clang
-      env: CONFIG=DefaultRelease COMPILER=clang-4.0 STL=libc++
+      compiler: apple-clang
+      env: CONFIG=DefaultRelease COMPILER=apple-clang STL=libc++
       install:
         - travis/install_osx.sh
       script:
@@ -221,7 +221,7 @@ jobs:
     - stage: Build (4th run)
       os: linux
       compiler: gcc
-      env: CONFIG=DefaultDebug LINUX=ubuntu-16.10 COMPILER=gcc-6
+      env: CONFIG=DefaultDebug LINUX=ubuntu-16.10 COMPILER=gcc
       install:
         - travis/install_linux.sh
       script:
@@ -233,7 +233,7 @@ jobs:
     - stage: Build (4th run)
       os: linux
       compiler: gcc
-      env: CONFIG=DefaultRelease LINUX=ubuntu-16.10 COMPILER=gcc-6
+      env: CONFIG=DefaultRelease LINUX=ubuntu-16.10 COMPILER=gcc
       install:
         - travis/install_linux.sh
       script:
@@ -250,8 +250,8 @@ jobs:
     # osx
     - stage: Build (5th run)
       os: osx
-      compiler: clang
-      env: CONFIG=DefaultDebug COMPILER=clang-4.0 STL=libc++
+      compiler: apple-clang
+      env: CONFIG=DefaultDebug COMPILER=apple-clang STL=libc++
       install:
         - travis/install_osx.sh
       script:
@@ -260,8 +260,8 @@ jobs:
         - find build -iname '*err*.log' -type f -print -exec cat {} \;
     - stage: Build (5th run)
       os: osx
-      compiler: clang
-      env: CONFIG=DefaultRelease COMPILER=clang-4.0 STL=libc++
+      compiler: apple-clang
+      env: CONFIG=DefaultRelease COMPILER=apple-clang STL=libc++
       install:
         - travis/install_osx.sh
       script:
@@ -272,7 +272,7 @@ jobs:
     - stage: Build (5th run)
       os: linux
       compiler: gcc
-      env: CONFIG=DefaultDebug LINUX=ubuntu-16.10 COMPILER=gcc-6
+      env: CONFIG=DefaultDebug LINUX=ubuntu-16.10 COMPILER=gcc
       install:
         - travis/install_linux.sh
       script:
@@ -284,7 +284,7 @@ jobs:
     - stage: Build (5th run)
       os: linux
       compiler: gcc
-      env: CONFIG=DefaultRelease LINUX=ubuntu-16.10 COMPILER=gcc-6
+      env: CONFIG=DefaultRelease LINUX=ubuntu-16.10 COMPILER=gcc
       install:
         - travis/install_linux.sh
       script:
@@ -301,8 +301,8 @@ jobs:
     # osx
     - stage: Test all
       os: osx
-      compiler: clang
-      env: CONFIG=DefaultDebug COMPILER=clang-4.0 STL=libc++
+      compiler: apple-clang
+      env: CONFIG=DefaultDebug COMPILER=apple-clang STL=libc++
       install:
         - travis/install_osx.sh
       script:
@@ -311,8 +311,8 @@ jobs:
         - find build -iname '*err*.log' -type f -print -exec cat {} \;
     - stage: Test all
       os: osx
-      compiler: clang
-      env: CONFIG=DefaultRelease COMPILER=clang-4.0 STL=libc++
+      compiler: apple-clang
+      env: CONFIG=DefaultRelease COMPILER=apple-clang STL=libc++
       install:
         - travis/install_osx.sh
       script:
@@ -323,7 +323,7 @@ jobs:
     - stage: Test all
       os: linux
       compiler: gcc
-      env: CONFIG=DefaultDebug LINUX=ubuntu-16.10 COMPILER=gcc-6
+      env: CONFIG=DefaultDebug LINUX=ubuntu-16.10 COMPILER=gcc
       install:
         - travis/install_linux.sh
       script:
@@ -335,7 +335,7 @@ jobs:
     - stage: Test all
       os: linux
       compiler: gcc
-      env: CONFIG=DefaultRelease LINUX=ubuntu-16.10 COMPILER=gcc-6
+      env: CONFIG=DefaultRelease LINUX=ubuntu-16.10 COMPILER=gcc
       install:
         - travis/install_linux.sh
       script:
diff --git a/travis/build-helper.sh b/travis/build-helper.sh
index 8d73c87e7..5e1b589e3 100755
--- a/travis/build-helper.sh
+++ b/travis/build-helper.sh
@@ -66,57 +66,17 @@ run() {
 export PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"
 
 case $COMPILER in
-gcc-4.8)
-    export CC=gcc-4.8
-    export CXX=g++-4.8
-    ;;
-
-gcc-4.9)
-    export CC=gcc-4.9
-    export CXX=g++-4.9
-    ;;
-
-gcc-5)
-    export CC=gcc-5
-    export CXX=g++-5
-    ;;
-
 gcc-6)
     export CC=gcc-6
     export CXX=g++-6
     ;;
 
-gcc-default)
+gcc)
     export CC=gcc
     export CXX=g++
     ;;
 
-clang-3.5)
-    export CC=clang-3.5
-    export CXX=clang++-3.5
-    ;;
-
-clang-3.6)
-    export CC=clang-3.6
-    export CXX=clang++-3.6
-    ;;
-
-clang-3.7)
-    export CC=clang-3.7
-    export CXX=clang++-3.7
-    ;;
-
-clang-3.8)
-    export CC=clang-3.8
-    export CXX=clang++-3.8
-    ;;
-
-clang-3.9)
-    export CC=clang-3.9
-    export CXX=clang++-3.9
-    ;;
-
-clang-4.0)
+clang-4)
     case "$OS" in
     linux)
         export CC=clang-4.0
@@ -130,7 +90,12 @@ clang-4.0)
     esac
     ;;
 
-clang-default)
+clang)
+    export CC=clang
+    export CXX=clang++
+    ;;
+
+apple-clang)
     export CC=clang
     export CXX=clang++
     ;;
diff --git a/travis/generate_travis.py b/travis/generate_travis.py
index 14e058a85..9fe6f82d0 100644
--- a/travis/generate_travis.py
+++ b/travis/generate_travis.py
@@ -2,14 +2,14 @@
 # Configuration for Linux
 configs_linux = [
     # OS, compiler
-    ("ubuntu-16.10", "gcc", "-6"),
+    ("ubuntu-16.10", "gcc", ""),
     #("debian-9", "gcc", "-6"),
 ]
 
 # Configurations for Mac
 configs_mac = [
     # OS, compiler
-    ("osx", "clang", "-4.0"),
+    ("osx", "apple-clang", ""),
 ]
 
 # Build types
@@ -41,6 +41,7 @@ if __name__ == "__main__":
     s += "  only:\n"
     s += "  - master\n"
     s += "  - stable\n"
+    s += "sudo: required\n"
     s += "dist: trusty\n"
     s += "language: cpp\n"
     s += "\n"
@@ -54,7 +55,6 @@ if __name__ == "__main__":
     s += "# Enable docker support\n"
     s += "services:\n"
     s += "- docker\n"
-    s += "sudo: required\n"
     s += "\n"
 
     s += "notifications:\n"
diff --git a/travis/install_linux.sh b/travis/install_linux.sh
index c7ef04886..62a7d75f6 100755
--- a/travis/install_linux.sh
+++ b/travis/install_linux.sh
@@ -8,4 +8,4 @@ then
   exit 0
 fi
 
-sudo apt-get install -qq -y docker
+#sudo apt-get install -qq -y docker
diff --git a/travis/install_osx.sh b/travis/install_osx.sh
index 8d703a82a..e7fea4dec 100755
--- a/travis/install_osx.sh
+++ b/travis/install_osx.sh
@@ -18,8 +18,7 @@ install_brew_package() {
     brew outdated "$1" || brew upgrade "$@"
   else
     # Package not installed yet, install.
-    # If there are conflicts, try overwriting the files (these are in /usr/local anyway so it should be ok).
-    brew install "$@" || brew link --overwrite gcc49
+    brew install "$@" || brew link --overwrite "$@"
   fi
 }
 
@@ -40,19 +39,15 @@ install_brew_package md5sha1sum
 # For `timeout'
 install_brew_package coreutils
 
-which cmake &>/dev/null || install_brew_package cmake
+install_brew_package cmake
 
 # Install compiler
 case "${COMPILER}" in
-gcc-4.8)       install_brew_package gcc@4.8 ;;
-gcc-4.9)       install_brew_package gcc@4.9 ;;
-gcc-5)         install_brew_package gcc@5 ;;
-gcc-6)         install_brew_package gcc@6 ;;
-clang-default) ;;
-clang-3.7)     install_brew_package llvm@3.7 --with-clang --with-libcxx;;
-clang-3.8)     install_brew_package llvm@3.8 --with-clang --with-libcxx;;
-clang-3.9)     install_brew_package llvm@3.9 --with-clang --with-libcxx;;
-clang-4.0)     install_brew_package llvm     --with-clang --with-libcxx;;
+gcc)         install_brew_package gcc ;;
+gcc-6)       install_brew_package gcc@6 ;;
+clang)       install_brew_package llvm   --with-clang --with-libcxx;;
+clang-4)     install_brew_package llvm@4 --with-clang --with-libcxx;;
+apple-clang) ;;
 *) echo "Compiler not supported: ${COMPILER}. See travis/install_osx.sh"; exit 1 ;;
 esac
 travis_fold end brew_install_util

From ba9534da0a5f8073ee915b1a53a1d7e281830976 Mon Sep 17 00:00:00 2001
From: Matthias Volk <matthias.volk@cs.rwth-aachen.de>
Date: Mon, 2 Oct 2017 14:36:34 +0200
Subject: [PATCH 3/9] apple-clang was not recognized in travis

---
 .travis.yml               | 48 +++++++++++++++++++--------------------
 travis/build-helper.sh    |  5 ----
 travis/generate_travis.py |  2 +-
 travis/install_osx.sh     |  3 +--
 4 files changed, 26 insertions(+), 32 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 697118347..ee40491cb 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -42,8 +42,8 @@ jobs:
     # osx
     - stage: Build (1st run)
       os: osx
-      compiler: apple-clang
-      env: CONFIG=DefaultDebug COMPILER=apple-clang STL=libc++
+      compiler: clang
+      env: CONFIG=DefaultDebug COMPILER=clang STL=libc++
       install:
         - rm -rf build
         - travis/install_osx.sh
@@ -53,8 +53,8 @@ jobs:
         - find build -iname '*err*.log' -type f -print -exec cat {} \;
     - stage: Build (1st run)
       os: osx
-      compiler: apple-clang
-      env: CONFIG=DefaultRelease COMPILER=apple-clang STL=libc++
+      compiler: clang
+      env: CONFIG=DefaultRelease COMPILER=clang STL=libc++
       install:
         - rm -rf build
         - travis/install_osx.sh
@@ -97,8 +97,8 @@ jobs:
     # osx
     - stage: Build (2nd run)
       os: osx
-      compiler: apple-clang
-      env: CONFIG=DefaultDebug COMPILER=apple-clang STL=libc++
+      compiler: clang
+      env: CONFIG=DefaultDebug COMPILER=clang STL=libc++
       install:
         - travis/install_osx.sh
       script:
@@ -107,8 +107,8 @@ jobs:
         - find build -iname '*err*.log' -type f -print -exec cat {} \;
     - stage: Build (2nd run)
       os: osx
-      compiler: apple-clang
-      env: CONFIG=DefaultRelease COMPILER=apple-clang STL=libc++
+      compiler: clang
+      env: CONFIG=DefaultRelease COMPILER=clang STL=libc++
       install:
         - travis/install_osx.sh
       script:
@@ -148,8 +148,8 @@ jobs:
     # osx
     - stage: Build (3rd run)
       os: osx
-      compiler: apple-clang
-      env: CONFIG=DefaultDebug COMPILER=apple-clang STL=libc++
+      compiler: clang
+      env: CONFIG=DefaultDebug COMPILER=clang STL=libc++
       install:
         - travis/install_osx.sh
       script:
@@ -158,8 +158,8 @@ jobs:
         - find build -iname '*err*.log' -type f -print -exec cat {} \;
     - stage: Build (3rd run)
       os: osx
-      compiler: apple-clang
-      env: CONFIG=DefaultRelease COMPILER=apple-clang STL=libc++
+      compiler: clang
+      env: CONFIG=DefaultRelease COMPILER=clang STL=libc++
       install:
         - travis/install_osx.sh
       script:
@@ -199,8 +199,8 @@ jobs:
     # osx
     - stage: Build (4th run)
       os: osx
-      compiler: apple-clang
-      env: CONFIG=DefaultDebug COMPILER=apple-clang STL=libc++
+      compiler: clang
+      env: CONFIG=DefaultDebug COMPILER=clang STL=libc++
       install:
         - travis/install_osx.sh
       script:
@@ -209,8 +209,8 @@ jobs:
         - find build -iname '*err*.log' -type f -print -exec cat {} \;
     - stage: Build (4th run)
       os: osx
-      compiler: apple-clang
-      env: CONFIG=DefaultRelease COMPILER=apple-clang STL=libc++
+      compiler: clang
+      env: CONFIG=DefaultRelease COMPILER=clang STL=libc++
       install:
         - travis/install_osx.sh
       script:
@@ -250,8 +250,8 @@ jobs:
     # osx
     - stage: Build (5th run)
       os: osx
-      compiler: apple-clang
-      env: CONFIG=DefaultDebug COMPILER=apple-clang STL=libc++
+      compiler: clang
+      env: CONFIG=DefaultDebug COMPILER=clang STL=libc++
       install:
         - travis/install_osx.sh
       script:
@@ -260,8 +260,8 @@ jobs:
         - find build -iname '*err*.log' -type f -print -exec cat {} \;
     - stage: Build (5th run)
       os: osx
-      compiler: apple-clang
-      env: CONFIG=DefaultRelease COMPILER=apple-clang STL=libc++
+      compiler: clang
+      env: CONFIG=DefaultRelease COMPILER=clang STL=libc++
       install:
         - travis/install_osx.sh
       script:
@@ -301,8 +301,8 @@ jobs:
     # osx
     - stage: Test all
       os: osx
-      compiler: apple-clang
-      env: CONFIG=DefaultDebug COMPILER=apple-clang STL=libc++
+      compiler: clang
+      env: CONFIG=DefaultDebug COMPILER=clang STL=libc++
       install:
         - travis/install_osx.sh
       script:
@@ -311,8 +311,8 @@ jobs:
         - find build -iname '*err*.log' -type f -print -exec cat {} \;
     - stage: Test all
       os: osx
-      compiler: apple-clang
-      env: CONFIG=DefaultRelease COMPILER=apple-clang STL=libc++
+      compiler: clang
+      env: CONFIG=DefaultRelease COMPILER=clang STL=libc++
       install:
         - travis/install_osx.sh
       script:
diff --git a/travis/build-helper.sh b/travis/build-helper.sh
index 5e1b589e3..7d722dc99 100755
--- a/travis/build-helper.sh
+++ b/travis/build-helper.sh
@@ -95,11 +95,6 @@ clang)
     export CXX=clang++
     ;;
 
-apple-clang)
-    export CC=clang
-    export CXX=clang++
-    ;;
-
 *)
     echo "Unrecognized value of COMPILER: $COMPILER"
     exit 1
diff --git a/travis/generate_travis.py b/travis/generate_travis.py
index 9fe6f82d0..13d91e691 100644
--- a/travis/generate_travis.py
+++ b/travis/generate_travis.py
@@ -9,7 +9,7 @@ configs_linux = [
 # Configurations for Mac
 configs_mac = [
     # OS, compiler
-    ("osx", "apple-clang", ""),
+    ("osx", "clang", ""),
 ]
 
 # Build types
diff --git a/travis/install_osx.sh b/travis/install_osx.sh
index e7fea4dec..e308372de 100755
--- a/travis/install_osx.sh
+++ b/travis/install_osx.sh
@@ -45,9 +45,8 @@ install_brew_package cmake
 case "${COMPILER}" in
 gcc)         install_brew_package gcc ;;
 gcc-6)       install_brew_package gcc@6 ;;
-clang)       install_brew_package llvm   --with-clang --with-libcxx;;
+clang)       ;;
 clang-4)     install_brew_package llvm@4 --with-clang --with-libcxx;;
-apple-clang) ;;
 *) echo "Compiler not supported: ${COMPILER}. See travis/install_osx.sh"; exit 1 ;;
 esac
 travis_fold end brew_install_util

From 57065bdabd25dd9fe1b0118a2139f8ec6ea0a63a Mon Sep 17 00:00:00 2001
From: Matthias Volk <matthias.volk@cs.rwth-aachen.de>
Date: Mon, 2 Oct 2017 15:27:59 +0200
Subject: [PATCH 4/9] glpk and hwloc now in homebrew/core

---
 travis/install_osx.sh | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/travis/install_osx.sh b/travis/install_osx.sh
index e308372de..89e155730 100755
--- a/travis/install_osx.sh
+++ b/travis/install_osx.sh
@@ -60,8 +60,7 @@ install_brew_package ginac
 install_brew_package doxygen
 install_brew_package boost --c++11
 install_brew_package z3 # optional
-brew tap homebrew/science
-install_brew_package homebrew/science/glpk
-install_brew_package homebrew/science/hwloc
+install_brew_package glpk
+install_brew_package hwloc
 install_brew_package eigen
 travis_fold end brew_install_dependencies

From 4626aa0e69024732749d0667c7b11d37181a218c Mon Sep 17 00:00:00 2001
From: Matthias Volk <matthias.volk@cs.rwth-aachen.de>
Date: Mon, 2 Oct 2017 17:44:01 +0200
Subject: [PATCH 5/9] Updated search for mathsat in cmake and fixed linker
 problem

---
 resources/3rdparty/CMakeLists.txt | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/resources/3rdparty/CMakeLists.txt b/resources/3rdparty/CMakeLists.txt
index 3a8a99435..cb7e064ec 100644
--- a/resources/3rdparty/CMakeLists.txt
+++ b/resources/3rdparty/CMakeLists.txt
@@ -395,9 +395,9 @@ endif()
 set(STORM_HAVE_MSAT ${ENABLE_MSAT})
 if (ENABLE_MSAT)
     message (STATUS "Storm - Linking with MathSAT.")
-    link_directories("${MSAT_ROOT}/lib")
-    include_directories("${MSAT_ROOT}/include")
-    list(APPEND STORM_LINK_LIBRARIES "mathsat")
+    find_library(MSAT_LIB mathsat PATHS "${MSAT_ROOT}/lib")
+    add_imported_library(msat SHARED ${MSAT_LIB} "${MSAT_ROOT}/include")
+    list(APPEND STORM_DEP_TARGETS msat_SHARED)
 endif(ENABLE_MSAT)
 
 #############################################################

From fcf3d984fb30bfb4b07737c20fcbb37befb0b9a7 Mon Sep 17 00:00:00 2001
From: Matthias Volk <matthias.volk@cs.rwth-aachen.de>
Date: Tue, 3 Oct 2017 13:09:05 +0200
Subject: [PATCH 6/9] 5th build stage in travis seems not to be needed anymore

---
 .travis.yml               | 57 +++------------------------------------
 travis/generate_travis.py |  3 +--
 2 files changed, 4 insertions(+), 56 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index ee40491cb..a9b1577af 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -198,57 +198,6 @@ jobs:
 
     # osx
     - stage: Build (4th run)
-      os: osx
-      compiler: clang
-      env: CONFIG=DefaultDebug COMPILER=clang STL=libc++
-      install:
-        - travis/install_osx.sh
-      script:
-        - travis/build.sh Build4
-      after_failure:
-        - find build -iname '*err*.log' -type f -print -exec cat {} \;
-    - stage: Build (4th run)
-      os: osx
-      compiler: clang
-      env: CONFIG=DefaultRelease COMPILER=clang STL=libc++
-      install:
-        - travis/install_osx.sh
-      script:
-        - travis/build.sh Build4
-      after_failure:
-        - find build -iname '*err*.log' -type f -print -exec cat {} \;
-    # ubuntu-16.10
-    - stage: Build (4th run)
-      os: linux
-      compiler: gcc
-      env: CONFIG=DefaultDebug LINUX=ubuntu-16.10 COMPILER=gcc
-      install:
-        - travis/install_linux.sh
-      script:
-        - travis/build.sh Build4
-      before_cache:
-        - docker cp storm:/storm/. .
-      after_failure:
-        - find build -iname '*err*.log' -type f -print -exec cat {} \;
-    - stage: Build (4th run)
-      os: linux
-      compiler: gcc
-      env: CONFIG=DefaultRelease LINUX=ubuntu-16.10 COMPILER=gcc
-      install:
-        - travis/install_linux.sh
-      script:
-        - travis/build.sh Build4
-      before_cache:
-        - docker cp storm:/storm/. .
-      after_failure:
-        - find build -iname '*err*.log' -type f -print -exec cat {} \;
-
-    ###
-    # Stage: Build (5th run)
-    ###
-
-    # osx
-    - stage: Build (5th run)
       os: osx
       compiler: clang
       env: CONFIG=DefaultDebug COMPILER=clang STL=libc++
@@ -258,7 +207,7 @@ jobs:
         - travis/build.sh BuildLast
       after_failure:
         - find build -iname '*err*.log' -type f -print -exec cat {} \;
-    - stage: Build (5th run)
+    - stage: Build (4th run)
       os: osx
       compiler: clang
       env: CONFIG=DefaultRelease COMPILER=clang STL=libc++
@@ -269,7 +218,7 @@ jobs:
       after_failure:
         - find build -iname '*err*.log' -type f -print -exec cat {} \;
     # ubuntu-16.10
-    - stage: Build (5th run)
+    - stage: Build (4th run)
       os: linux
       compiler: gcc
       env: CONFIG=DefaultDebug LINUX=ubuntu-16.10 COMPILER=gcc
@@ -281,7 +230,7 @@ jobs:
         - docker cp storm:/storm/. .
       after_failure:
         - find build -iname '*err*.log' -type f -print -exec cat {} \;
-    - stage: Build (5th run)
+    - stage: Build (4th run)
       os: linux
       compiler: gcc
       env: CONFIG=DefaultRelease LINUX=ubuntu-16.10 COMPILER=gcc
diff --git a/travis/generate_travis.py b/travis/generate_travis.py
index 13d91e691..9b86cd19a 100644
--- a/travis/generate_travis.py
+++ b/travis/generate_travis.py
@@ -23,8 +23,7 @@ stages = [
     ("Build (1st run)", "Build1"),
     ("Build (2nd run)", "Build2"),
     ("Build (3rd run)", "Build3"),
-    ("Build (4th run)", "Build4"),
-    ("Build (5th run)", "BuildLast"),
+    ("Build (4th run)", "BuildLast"),
     ("Test all", "TestAll"),
 ]
 

From 20a76f01e272390580f34345b85a27122f9c9544 Mon Sep 17 00:00:00 2001
From: Matthias Volk <matthias.volk@cs.rwth-aachen.de>
Date: Thu, 5 Oct 2017 11:19:25 +0200
Subject: [PATCH 7/9] Better error output for jit

---
 src/storm/builder/jit/ExplicitJitJaniModelBuilder.cpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/storm/builder/jit/ExplicitJitJaniModelBuilder.cpp b/src/storm/builder/jit/ExplicitJitJaniModelBuilder.cpp
index 54779b96a..245e9d54d 100644
--- a/src/storm/builder/jit/ExplicitJitJaniModelBuilder.cpp
+++ b/src/storm/builder/jit/ExplicitJitJaniModelBuilder.cpp
@@ -3,6 +3,7 @@
 #include <iostream>
 #include <cstdio>
 #include <chrono>
+#include <errno.h>
 
 #include "storm/solver/SmtSolver.h"
 
@@ -163,7 +164,7 @@ namespace storm {
                 STORM_LOG_TRACE("Executing command: " << command);
                 
                 std::unique_ptr<FILE> pipe(popen(command.c_str(), "r"));
-                STORM_LOG_THROW(pipe, storm::exceptions::InvalidStateException, "Call to popen failed.");
+                STORM_LOG_THROW(pipe, storm::exceptions::InvalidStateException, "Call to popen failed: " << strerror(errno));
                 
                 while (!feof(pipe.get())) {
                     if (fgets(buffer, 128, pipe.get()) != nullptr)

From 384f17e32ec7c1bb5cb81c52ba97f846dd8e5d39 Mon Sep 17 00:00:00 2001
From: Matthias Volk <matthias.volk@cs.rwth-aachen.de>
Date: Thu, 5 Oct 2017 17:09:18 +0200
Subject: [PATCH 8/9] Workaround for jit and sylvan tests on travis

---
 travis/build-helper.sh | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/travis/build-helper.sh b/travis/build-helper.sh
index 7d722dc99..04c2dc52e 100755
--- a/travis/build-helper.sh
+++ b/travis/build-helper.sh
@@ -50,7 +50,13 @@ run() {
     # Test all
     travis_fold start test_all
     cd build
-    ctest test --output-on-failure
+    # Hack to avoid memout problem with jit and sylvan
+    # 1. Run other tests without builder tests
+    ctest test --output-on-failure -E run-test-builder
+    # 2. Run builder tests without sylvan tests
+    ./bin/test-builder --gtest_filter=-"DdJaniModelBuilderTest_Sylvan.*"
+    # 3. Just run sylvan tests
+    ./bin/test-builder --gtest_filter="DdJaniModelBuilderTest_Sylvan.*"
     travis_fold end test_all
     ;;
 

From 6fa4e6b455375fe93d3354dc81ae26ddf5861029 Mon Sep 17 00:00:00 2001
From: TimQu <tim.quatmann@cs.rwth-aachen.de>
Date: Fri, 6 Oct 2017 15:15:08 +0200
Subject: [PATCH 9/9] fixed SOR and gaussseidel linear equation solver methods

---
 src/storm/storage/SparseMatrix.cpp | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/storm/storage/SparseMatrix.cpp b/src/storm/storage/SparseMatrix.cpp
index b37472baf..3eb71960f 100644
--- a/src/storm/storage/SparseMatrix.cpp
+++ b/src/storm/storage/SparseMatrix.cpp
@@ -1493,8 +1493,9 @@ namespace storm {
             typename std::vector<ValueType>::iterator resultIterator = x.end() - 1;
             typename std::vector<ValueType>::iterator resultIteratorEnd = x.begin() - 1;
             
-            index_type currentRow = 0;
+            index_type currentRow = getRowCount();
             for (; resultIterator != resultIteratorEnd; --rowIterator, --resultIterator, --bIt) {
+                --currentRow;
                 ValueType tmpValue = storm::utility::zero<ValueType>();
                 ValueType diagonalElement = storm::utility::zero<ValueType>();
                 
@@ -1505,9 +1506,8 @@ namespace storm {
                         diagonalElement += it->getValue();
                     }
                 }
-                
+                assert(!storm::utility::isZero(diagonalElement));
                 *resultIterator = ((storm::utility::one<ValueType>() - omega) * *resultIterator) + (omega / diagonalElement) * (*bIt - tmpValue);
-                ++currentRow;
             }
         }