If needed, install a compatible c++11 compiler for gcc to call. To tell which version you have, run g++ -v. We recommend using 5.4.0 or newer. This page describes which versions of g++ support c++11: https://gcc.gnu.org/projects/cxx0x.html
Optional, but recommended: Install doxygen. If you're running Ubuntu, use the command sudo apt-get install doxygen. If you are running Centos, use the command sudo yum install doxygen. You can create the Pallisade API documentaion with the command make docs. You can then browse the documentation with your webbrowser. The html files are rooted in your repo at doc/apidocs/html/index.html.
To make pdf output files you may also need to install texlive-epstopdf using the above procedure.
You should now be able to build Palisade with the command make. This will create shared object files libPALISADEcore.so, libPALISADEpke.so and libPALISADEtrapdoor.so in bin/lib and link with executables in bin/demo. It will build unit tests in bin/unittest. These will all be built with the default math backend that does not require third party software.
Make sure the .so file is in your path. You can add it to your path by customizing the command sudo ldconfig /home/palisade/Documents/palisade/student-edition/bin/lib/ to reflect your actual repo location on your machine. You may need to rerun this operation every time you reboot.
Test execute a demo executable file using a command such as ./bin/demo/pke/Source_json with parameter set BV1.
Building Palisade with the NTL/GMP backend
The GMP/NTL backend for Palisade requires GMP version 6.1.2 and NTL version 10.5.0.
If you have a distribution of palisade that includes these libraries (found in the third-party directory), you can skip the next step and proceed directly to building. You can identify if you have gmp and/or ntl installed by typing