Installation guide

Download - How to get access ?

We have a public licence version for everybody who is interested to use the library. For those who are interested to contribute to the library or need latest changes in a collaboration project we provide access to the developers version.

For the communication in between them we have the Git server.

Download of a public licence version

We will provide in short time a version of the Concepts library under GPL licence at this place.

Download of the developers version

Access to the current developing version of Concepts is offered via the version management system Git and using Gitlab under request. For this contact Kersten.

If you have obtained the access details login into Gitlab, the graphical user interface to Git, at https://git-ce.rwth-aachen.de/users/sign_in and contact Kersten again to be added to the project.

Then, once you have been added to the project, proceed as follows.

First run: creation of the configuration files

Run the configuration script

cd $(CONCEPTS_DEV) 
./configure

that will generate the files boost-build.jam, boost-build-modules.jam, Jamfile and project-root.jam. You also have to add the path to the (future) Concepts library writing in your ~/.profile file

export CONCEPTS_DEV="/scratch/kersten/Concepts-Dev"
export LD_LIBRARY_PATH="$CONCEPTS_DEV/libconcepts:$LD_LIBRARY_PATH"

then reload the configuration using source ~/.profile, if your using e.g. bash on Ubuntu.

Pre-setup environment

The Concepts library requires the GCC compiler (version >= 4.8.1) or the LLVM compiler (version >= 3.4.x) with the support of the C++-11 standard. If this compiler is not natively available on your system, you have to preset the environment to be able to use it.

Pre-setup environment (Linux)

Make sure that you have administrative rights or ask your system administrator to do so. For the Linux distributions Debian or Ubuntu install the packages gcc gfortran g++ using the packet manager if you want to use the gcc compiler, and install the packages clang libclang-common-dev using the packet manager if you want to use the clang compiler.

Pre-setup environment (MAC OS X System)

Make sure that you have administrative rights or ask your system administrator to do so.

Pre-setup environment (Windows 10 System, 64-bits version)

Make sure that you have administrative rights or ask your system administrator to do so. Install Bash on Ubuntu on Windows then follow the Linux-related instructions. If you cannot manage to download the Ubuntu app from the Windows store, one possible solution is to run the Powershell program as an administrator and type lxrun /install.

Installation of tools for compilation

There are two others tools that are used during the compilation process: Boost Build and the coupled Bison and Flex compilers.

Installation of bjam

bjam is the tool used for the compilation process.

Installing packages in Debian, Ubuntu or Redhat

For the Linux distributions Debian or Ubuntu install the package libboost-tools-dev

Direct installation

The manual installation holds as follow:

Installation of bison and flex

Installing packages in Debian, Ubuntu or Redhat

For the Linux distributions Debian or Ubuntu install the package flex bison libfl-dev

Direct installation

The manual installation holds as follow:

If you encounters issues with bison and/or flex, you can disable then using USE_DUMMY=yes; in your configuration file.

Remark while using USE_DUMMY=yes;, there might be issues into loading .cig files.

Installation of python

If you want to compile the Python version of Concepts, or if you want to use the CIG mesh generator, you have to install the python (version 2.x) interpreter and subsequent libraries. This program can be installed using your package manager.

Installing packages in Debian

For the Linux distributions Debian or Ubuntu install the package python2.7-dev libpython2.7 libboost-python-dev python-numpy python-scipy scons python-matplotlib

Manual installation

Installation of the boost.numpy package

There are two ways to obtain the boost.numpy package:

In both cases, you will have to set up the boost-build-modules.jam

modules.poke : BOOSTNUMPY_PATH        : /path/to/boostnumpy/usr/local/lib ;
modules.poke : BOOSTNUMPY_INCLPATH    : /path/to/boostnumpy/usr/local/include ;

Remarks

Installation of external libraries

The standard path for the libraries is either /usr/lib, /usr/lib64, or a directory parallel to the Concepts path $(CONCEPTS_DEV). For example, if the Concepts path is /scratch/kersten/Concepts-Dev then Concepts searches for the SuperLU library in

/usr/lib
/usr/lib64
/scratch/kersten/SuperLU

To specify individual pathes, edit $(CONCEPTS_DEV)/boost-build-modules.jam.

On MAC OS X system, the additional path /opt/local/lib is added to the standard path list.

Required packages

The following external libraries have to be installed into the system path.

The following external libraries have to be installed

Additional packages

Compression library zlib

Installing packages in Debian

For the Linux distributions Debian or Ubuntu install the package zlib1g-dev or the package lib64z1-dev

Remarks

The installed library must have the name libz.so. If the filename has a suffix of the version number, e.g. it reads libz.so.3, you need to create a symbolic link by executing sudo ln -s libz.so.3 libz.so in the directory where the library is located.

Parallel compiler mpi

Installing packages in Debian

For the Linux distributions Debian or Ubuntu install the packages openmpi-bin openmpi-common libopenmpi-dev.

If you are also using the Python version of Concepts, install the additional package python-mpi4py.

Direct solver

You can install one of the sparse solvers MUMPS, Umfpack, SuperLU (by order of preference). Furthermore information can be found following this link.

Remark: if you plan to use Concepts to solve sparse (un)symmetric linear systems that involve complex numbers, installation of one of the sparse solvers is required.

Eigenvalue solver

You can install one of the eigenvalue solvers Arpack, Trilinos, Jdbsym (by order of preference). Furthermore information can be found following this link.

Remark: the shift-and-invert method used by the Arpack eigenvalue solver calls implicitely either the MUMPS direct solver or the SuperLU direct solver, depending on which solver is installed.

Optional libraries

These libraries are not required if you want to use Concepts, but add several features used for particular problems. Furthermore information can be found following this link.

Compilation of the Concepts library

Errors during compilation

Remark If you get the error

don't know how to make &lt;pbuilds/toolbox/gcc-4/debug-object(c-scanner)@3334&gt;input.cpp<br />don't know how to make &lt;pbuilds/toolbox/gcc-4/debug-object(c-scanner)@3329&gt;lexer.c

during the compilation, the reason is that you're using a too old version of bjam (e.g. the verions 2011.12). We should recommend you to upgrade your version of bjam. Alternatively, you can let the first compilation run until bjam tried to create the libconceptstoolbox library, stop it, and re-run it.

Remark If you get the error

undefined reference to `zbesh_wrap'

or a similar error during the compilation, you should add the line <library>/site-config//gfortran in the file $(CONCEPTS_DEV)/Jamfile just after the line requirements <hardcode-dll-paths>true.

Documentation

If you want to compile the class and examples documentation, you have to install Doxygen.

Installing packages in Debian, Ubuntu or Redhat

For the Linux distributions Debian or Ubuntu install the package doxygen. To generate formulas the package texlive should also be installed.

Manual installation

You can get the source or binary files at this page, and follow the installation instructions. A valid LaTeX installation should also be there to generate formulas.

Documentation generation

Command call to generate the documentation is, in the Concepts root folder, make doxygen. Documentation output will be in the $(CONCEPTS_DEV)/doc/doxygen folder.

I you want to generate the documentation calling the Doxygen program directly, the file you have to open inside is the file $(CONCEPTS_DEV)/doc/doxygenrc_local.

Write your first application


Read access to these pages for all, read-write access for members of ConceptsMembersGroup.

numa: Concepts/installation (last edited 2020-09-08 13:46:37 by semin)