Skip to content

Latest commit

 

History

History
91 lines (67 loc) · 4.33 KB

installationInstructions.md

File metadata and controls

91 lines (67 loc) · 4.33 KB

Installing FRET

Dependencies

  • NodeJS (use any version between v16.16.x - v18.18.x)
  • Python (Version >=2. Note: if you are having issues using 3.11 or later, use 3.10)
  • (Optional) NuSMV
  • (Optional) JKind
  • (Optional) Kind 2
  • (Optional) Z3

Download and Install

When you open the FRET distribution, you will see the following directory structure:

.
├── fret-electron
├── tools
├── tutorialExamples
├── CONTRIBUTORS.md
├── LICENSE.pdf
└── README.md

Here are the steps to install and start FRET:

  1. cd fret-electron
  2. npm run fret-install (please do 'npm run fret-reinstall' instead if you already have a FRET installation)
  3. npm start

For the installation of FRET on Windows 10 see Installation_Windows.

For the installation of FRET on Apple M1 machines see notes below.

Build executable with Docker Image

Alternatively, for Linux users, we provide a Docker image to build an executable binary. Here are the steps:

  1. cd fret
  2. mv tools/Scripts/docker/Dockerfile .
  3. mv tools/Scripts/docker/generate_executable_Linux.sh .
  4. docker build -t fret-install -f Dockerfile .
  5. mkdir ../fret-desktop (Replace path with your preference)
  6. docker run -v $PWD/../fret-desktop:/tmp/fret -u root -it fret-install:latest /bin/bash
  7. cp ~fret/Desktop/FRET-linux-x64.tgz /tmp/fret/
  8. exit (to exit the docker image)
  9. cd ../fret-desktop
  10. tar -xzvf FRET-linux-x64.tgz
  11. cd FRET-linux-x64
  12. ./FRET (or ./FRET --no-sandbox if the application doesn't load)

Notes

Note: To run the LTLSIM simulator, a NuSMV (see http://nusmv.fbk.eu/) installation is required. Please make sure that the NuSMV binaries directory is added to the PATH environment variable. Additionally, please add $PATH_TO_FRET/fret/tools/LTLSIM/ltlsim-core/simulator to the PATH environment variable.

Note: To perform realizability checking, additional dependencies must be installed (e.g., JKind or Kind2). Read the realizability checking Dependencies section for details.

Note: FRET can run with either python 2.x or python 3.x. You can config FRET to specify which version of python to use. For example, to use python2 executable, run the following: npm config set python /usr/bin/python2.x

Note: We have added package-lock.json files, as recommended by nodeJS, to assist the installation of FRET. These files were previously untracked (prior to release 3.1). If you get an "untracked working tree files error" when pulling the new code, please delete your local package-lock.json files.

Note: Compiling on Windows machines requires gcc and the node-gyp prerequisites.

Note: For M1 architectures please follow the following steps after cloning FRET:

  1. cd fret/fret-electron
  2. npm run fret-install
  3. cd app (under fret/fret-electron/)
  4. npm install leveldown@latest
  5. Edit package-lock.json (under fret/fret-electron/app/)
  • Change leveldown dependency: “^5.4.0” under node_modules/level to “^6.0.3”
  • Change leveldown dependency: “5.6.0” under node_modules/pouchdb to “^6.0.3”
  1. cd ..
  2. npm start

Note: If you encounter GPU-related issues on Ubuntu 22.04 LTS, here is a workaround (see also here):

  1. cd fret/fret-electron
  2. Open package.json in an editor
  3. Find the "scripts" object, change the value of the "start" key from "cross-env NODE_ENV=production electron ./app/" to "cross-env NODE_ENV=production electron --no-sandbox ./app/"
  4. Save and exit the editor
  5. npm start

Note: If you encounter glibc-related issues when using the executable built by the Docker image, try the following steps:

  1. Open the "Dockerfile" file in an editor (this file should be in the "fret" root folder if you already attempted to build a binary)
  2. Change "FROM ubuntu:latest" to "FROM ubuntu:focal"
  3. Try again the Docker instructions, starting with step 4.

Back to FRET home page

Back to the FRET README