This page describes how to get the PALISADE library to build on your system.
Our standard build environment is Linux. We have several options to build in Linux, including setting up a Linux virtual machine on your environment, setting up on an Ubuntu system you manage yourself or running in the NJIT AFS environment.
We also support Mac OSX and Windows environments
Downloading a preconfigured Linux VM
The easiest way to get started with PALISADE is to download and run a preconfigured virtual machine. Detail on this can be found here.
Configuring your system for the PALISADE Build Environment
To build and use PALISADE, your system must have the following tools available:
a C++ compiler that supports C++11
we have used g++ on linux and Windows, clang++ on Mac OS
We do NOT support VC++ under Visual Studio
NOTE: we are discussing the use of clang++ on other platforms in a future release
doxygen (optional, but useful)
bison and flex (future)
It is likely that you will want to use an IDE. Our users use Eclipse or Emacs.
Once you have the necessary tools in place, you may access the project by way of the NJIT gitlab server, https://git.njit.edu. The easiest way to start is to git clone the project.
Follow the instructions here
First time users should run configure.sh which will check to make sure that your environment supports all of the tools needed to build and run PALISADE.
The following specific instructions will get you up and running in various build environments:
Linux - Debian/Ubuntu
The g++ compiler, as well as the development environment tools, are all available via the package manager on your linux system.
Use configure.sh to ensure that your environment is correct for PALISADE development.
Linux - Scientific Linux 6 at NJIT
Anyone at NJIT can login into AFS using the directions here. We also have several AFS Linux desktops available to lab members that run Scientific Linux 6.
Once you get access to an AFS machine, you can work in your home directory on AFS, and this directory will be available from whichever AFS machine you log into. This is a very nice convenience, which is why we recommend accessing and using AFS if you don't have access to a local Linux instance.
Users must be certain to set up their environment for the proper version of g++. This can be accomplished by adding the following to .bashrc:
Visual Studio and VC++ are no longer supported (starting with v1.01)
Macintosh - OS X
Macintosh users should use Macports to install all of the necessary packages so that their environment will support PALISADE. The ports needed are:
openmpi-clang (the version of clang++ that supports openmp)
First, be sure that your environment can run Eclipse. Recent vintages of Eclipse require at least Java 1.8. If you do not have Java at all, or if your Java version is earlier than 1.8, get and install an appropriate version of java before proceeding.
Start by installing Eclipse in your environment.
The Eclipse project offers an Eclipse installer which can be downloaded and run, or you can select a specific version of Eclipse to install and use. We suggest using the Mars release, at minimum.
We suggest that you configure PALISADE as a Makefile project and use the Makefiles provided in the PALISADE distribution. The Makefiles contain all of the necessary flags to compile the library properly.
It is recommended to use a profiling tool to determine main bottlenecks of your contributions.