- NodeJS (use any version between v16.16.x - v20.19.x, see instructions here)
- Python (use any version between v3.10.x - v3.13.x)
gcc,g++,make- Ubuntu users, ensure that the following packages are installed:
- Ubuntu 24.04 or later:
libgtk-3-0t64 libdrm2 libgbm1 libnss3 libx11-xcb1 libasound2t64 - Older than Ubuntu 24.04:
libgtk-3.0 libdrm2 libgbm1 libnss3 libx11-xcb1 libasound2
- Ubuntu 24.04 or later:
- (Optional) NuSMV
- (Optional) JKind
- (Optional) Kind 2 Note: Version 2.3.0 is not supported.
- (Optional) Z3
-
Here are the four simple steps to install and run FRET on Linux and MacOS systems:
git clone https://github.com/NASA-SW-VnV/fret.gitcd fret/fret-electronnpm run fret-installnpm start
-
Alternatively, for MacOS or Linux users, we provide means to build an executable natively or through Docker. See Building executables.
-
For the installation of FRET on Windows see our Windows installation guide.
-
If you run into installation issues, check the Troubleshooting section.
-
FRET developers, check the Developer's guide.
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 that $PATH_TO_FRET is the path location where the FRET git repo was cloned (and not the path to the FRET binary).
Note
To perform realizability checking, additional dependencies must be installed. Read the realizability checking Dependencies section for details.
Note
To generate test cases or test obligations, additional dependencies must be installed. Read the test case generation Dependencies section for details.
The easiest official way is through the node version manager (nvm):
# Download and install nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.2/install.sh | bash
# in lieu of restarting the shell
\. "$HOME/.nvm/nvm.sh"
# Download and install Node.js:
nvm install 20
# Verify the Node.js version:
node -v # Should print "v20.19.0".
nvm current # Should print "v20.19.0".
# Verify npm version:
npm -v # Should print "10.8.2".
Note
Since different projects might require different node versions, nvm (or fnm) provide an easy way to switch between previously installed node versions, e.g., by nvm use vA.B.C.
Here is the NodeJS website. If you download a NodeJS prebuild, please make sure that it is in the v16.16.x - v20.19.x version interval.