Installation¶
FRESCO is designed to run on Linux, MacOS, and Windows. The following installation guide is tested on Linux and MacOS.
Building FRESCO from Source¶
The preferred way to install FRESCO is by building it from the latest source from GitHub. This way you get all the latest additions to FRESCO. To do this, make sure you have installed git, Java 8, and Maven.
Then in a terminal run:
git clone https://github.com/aicis/fresco.git
cd fresco
mvn install
This will download the FRESCO source code and dependencies, compile all the FRESCO modules, and run
the test suite. On a successful build Maven should install the FRESCO modules on your system and a
JAR file can now be found in the ./target
directory of each corresponding module, as well as in
your local Maven repository. Note, that the test suite executed on mvn install
can take several
minutes. To skip the tests and only run the build, use mvn install -DskipTests
.
If you use Maven for your project you can then use a FRESCO module by adding it as a dependency in
your projects POM file. E.g., to use the core
module add the dependency
<dependency>
<groupId>dk.alexandra.fresco</groupId>
<artifactId>core</artifactId>
<version>1.0.1-SNAPSHOT</version>
</dependency>
possibly incrementing the version number to the current version.
- In order to use one of the protocol suites in your project, you cat add it
- as a dependency as well. For instance, if you want to use the SPDZ protocol suite, your POM file will need to include:
<dependency>
<groupId>dk.alexandra.fresco</groupId>
<artifactId>spdz</artifactId>
<version>1.0.1-SNAPSHOT</version>
</dependency>
Using the Latest FRESCO Release¶
If you prefer to install a released version of FRESCO you can get the source from the release
site https://github.com/aicis/fresco/releases, and run mvn install
as described above.
Alternatively If your project uses Maven you could just add the dependency to your projects POM file
and have Maven download the dependency from the Central Repository. E.g., to use a release version
of the core
and spdz
modules add the dependencies
<dependency>
<groupId>dk.alexandra.fresco</groupId>
<artifactId>core</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>dk.alexandra.fresco</groupId>
<artifactId>spdz</artifactId>
<version>1.0.0</version>
</dependency>
possibly adjusting the version tag to the desired version.
FRESCO in a Docker Container¶
If you use Docker and would prefer to work with FRESCO in a Docker container, we have made a docker image available which you can run using
docker run -it frescompc/fresco
If you would like to build the docker image yourself we have included the Dockerfile in the root of the repository. To build the image simply clone the repository (as above) and run
docker build -t fresco .
To run the container interactively using the image run
docker run -it fresco