This is the installation manual for LIBPF™ (LIBrary for Process Flowsheeting) development on Linux operating systems, for the model developer or for the LIBPF core developer who want to prepare a Linux machine for LIBPF development.
LIBPF development is preferably done on Debian 8.0 Jessie (the stable version at the time of writing).
It should be possible to work also on a different Debian release or another up-to-date Linux distribution. For some of these we provide step-by-step instructions, but it should be easy to adapt to other distributions / releases.
Before starting the procedure below, follow the instructions to setup a Linux machine to run LIBPF so that you have the runtime prerequisites, the database and the activated license.
Install the mandatory prerequisites:
sudo apt-get install debhelper libcurl4-openssl-dev xz-utils tar git doxygen libboost-dev xsltproc libloki-dev libpq-dev libsqlite3-dev libboost1.55-tools-dev sudo apt-get install libgmm++-dev libiodbc2-dev libsundials-serial-dev libmxml-dev libsilo-dev libsuitesparse-dev libboost-test-dev sudo apt-get install make lintian chrpath libjsoncpp-dev
The optional ones are:
apt-get install lcov valgrind graphviz libboost-doc qt5-doc gdb
Now install the C++ compiler, either gcc:
apt-get install g++
apt-get install clang
Python / RESTful API
sudo apt-get install swig python-dev openjdk-7-jdk libboost-regex-dev libboost-system-dev libboost-thread-dev
and for running:
sudo apt-get install python-bottle python-jsonschema python-pymongo mongodb python-cherrypy3
For UI development you'll need qt5:
sudo apt-get install qt5-default libqt5xml5 libqt5svg5-dev libqt5xmlpatterns5-dev libqt5sql5-psql qttools5-dev-tools
apt-get install debhelper libcurl4-openssl-dev xz-utils tar git doxygen libboost-dev xsltproc libloki-dev libpq-dev libsqlite3-dev apt-get install libiodbc2-dev libsundials-serial-dev libmxml-dev libsilo-dev libsuitesparse-dev libboost-test-dev libqt4-dev libssl-dev apt-get install libgmm++-dev lintian chrpath libjsoncpp-dev
You will need to build libjsoncpp-dev since that is not available for Squeeze.
As compiler, only g++ is supported.
apt-get install debhelper libcurl4-openssl-dev xz-utils tar git doxygen g++ libboost-dev xsltproc libloki-dev libpq-dev libsqlite3-dev libgmm++-dev libiodbc2-dev libsundials-serial-dev libmxml-dev libsuitesparse-dev boost-build libboost-test-dev lintian chrpath
apt-get install lcov valgrind graphviz libboost-doc qt4-doc-html gdb
Setup the repositories to point to wheezy editing the file /etc/apt/sources.list and replacing squeeze with wheezy in the lines starting with deb and deb-src:
deb http://mi.mirror.garr.it/mirrors/debian/ wheezy main deb-src http://mi.mirror.garr.it/mirrors/debian/ wheezy main
Now install this additional package:
apt-get update apt-get install libsilo-dev
You might want to undo now the previous changes to /etc/apt/sources.list and launch again apt-get update after installing this additional package.
Trusty Tahr (14.04)
See the instructions for Debian Jessie (8).