HLIBpro  2.9
Installation

Prerequisites

Additional packages are need for 𝖧𝖫𝖨𝖡𝗉𝗋𝗈 to run. Below you can find the instructions to install those packages for your operating system.

Debian, Ubuntu

apt install gcc g++ gfortran scons
apt install libboost-all-dev libtbb-dev liblapack-dev libmetis-dev zlib1g-dev libfftw3-dev libhdf5-dev libgsl-dev

CentOS 8

yum config-manager --set-enabled PowerTools
yum install gcc gcc-c++ gcc-gfortran python3-scons
yum install boost-devel tbb-devel lapack-devel metis-devel zlib-devel fftw-devel hdf5-devel gsl-devel

CentOS 7

yum install centos-release-scl epel-release
yum install devtoolset-8
yum install boost-devel tbb-devel lapack-devel metis-devel zlib-devel fftw-devel hdf5-devel gsl-devel

Fedora 31

yum install gcc scons
yum install boost-devel tbb-devel lapack-devel metis-devel zlib-devel fftw-devel hdf5-devel gsl-devel

MacOSX

First install Xcode. For the remaining packages, Homebrew is used:

brew install boost tbb fftw gsl scons
Remarks
𝖧𝖫𝖨𝖡𝗉𝗋𝗈 was compiled using Boost 1.71, TBB 2019_U9, FFTW v3.3.8 and GSL v2.6.

Compiling Examples

Simply run

$ scons

or

$ scons-3

within the 𝖧𝖫𝖨𝖡𝗉𝗋𝗈 installation directory.

After SCons has finished, you will find the example programs in the examples sub directory.

Remarks
On MacOSX you have to add the path to the 𝖧𝖫𝖨𝖡𝗉𝗋𝗈 library before you can run the examples via
$ export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:<path_to_HLIBpro>/lib

Integration into own Projects

To ease the integration of 𝖧𝖫𝖨𝖡𝗉𝗋𝗈 into own projects, the needed compiler flags can be printed out by using

$ bin/hlib-config

The script should automatically detect the installation path. Otherwise please set the correct path in the variable prefix.

Compilation options may then be printed out via

$ bin/hlib-config --cflags

and linking options via

$ bin/hlib-config --lflags

(both may also be combined).

As an example, by using hlib-config, the compilation of the example bem1d.cc may also be performed via

$ g++ -o examples/bem1d examples/bem1d.cc `bin/hlib-config --cflags --lflags`

(assuming a Unix system).

Remarks
Remember to adjust LD_LIBRARY_PATH (Linux) or DYLD_LIBRARY_PATH (MacOS) to include the 𝖧𝖫𝖨𝖡𝗉𝗋𝗈 library or add
-Wl,-rpath,<path to hpro>/lib

during compilation.