I used the messages presented by cmake-gui to guide me which packages to install. Turns out, libvtk as offered by stretch leads to build failures because it is based on QT5 but elmer requires QT4.
Here are the packages I installed to satisfy cmake:
- apt-get install libblas-dev
apt-get install liblapack-dev
apt-get install qt4-qmake
apt-get install libqt4-dev
apt-get install libqwt-dev
apt-get install libvtk5-dev <---------- Debian stable only
apt-get install libvtk5-qt-dev <---------- Debian stable only
apt-get install libpythonqt-dev
apt-get install liboce-ocaf-dev
apt-get install liboce-ocaf-lite-dev
apt-get install liboce-modeling-dev
apt-get install liboce-foundation-dev
apt-get install liboce-visualization-dev
Comment: apt-get insisted to remove libvtk5 and a few other packages elmer needs from Debian stable (jessie). This is not a valid option because vtk5 is needed by OpenCascade and presentation of results within ElmerGUI. Fortunately, aptitude can suggest alternative choices, which also resolve the dependencies. So I typed "n" until aptitude came up with this suggestion:
- Remove the following packages:
1) libjsoncpp0v5
Install the following packages:
2) libjsoncpp0 [0.6.0~rc2-3.1 (stable)]
3) openmpi-bin [1.6.5-9.1 (stable)]
4) paraview [4.1.0+dfsg+1-1 (stable)]
Keep the following packages at their current version:
5) libopenmpi1.10 [Not Installed]
6) libvtk6.2 [Not Installed]
7) libvtk6.2-qt [Not Installed]
8) paraview-python [Not Installed]
9) python-mpi4py [Not Installed]
10) python-vtk6 [Not Installed]
Upgrade the following packages:
11) cmake [3.4.1-2 (now) -> 3.5.1-1 (testing)]
12) cmake-data [3.4.1-2 (now) -> 3.5.1-1 (testing)]
13) cmake-qt-gui [3.4.1-2 (now) -> 3.5.1-1 (testing)]
Downgrade the following packages:
14) libopenmpi-dev [1.6.5-11 (now) -> 1.6.5-9.1 (stable)]
15) libopenmpi1.6 [1.6.5-11 (now) -> 1.6.5-9.1 (stable)]
16) openmpi-common [1.6.5-11 (now) -> 1.6.5-9.1 (stable)]
Leave the following dependencies unresolved:
17) paraview recommends paraview-python
Accept this solution? [Y/n/q/?]
Exceptions:
WITH matc fails
/usr/bin/ld: listheaders: TLS definition in ../../matc/src/libmatc.so section .tbss mismatches non-TLS reference in CMakeFiles/ElmerGUI.dir/vtkpost/matc.cpp.o
../../matc/src/libmatc.so: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
ElmerGUI/Application/CMakeFiles/ElmerGUI.dir/build.make:1837: recipe for target 'ElmerGUI/Application/ElmerGUI' failed
make[2]: *** [ElmerGUI/Application/ElmerGUI] Error 1
CMakeFiles/Makefile2:17099: recipe for target 'ElmerGUI/Application/CMakeFiles/ElmerGUI.dir/all' failed
make[1]: *** [ElmerGUI/Application/CMakeFiles/ElmerGUI.dir/all] Error 2
WITH hypre cannot be configured
aptitude install libhypre-dev
inadvertently wants to remove the libvtk5 packages
WITH Trilinos cannot be configured
aptitude install trilinos-all-dev
inadvertently wants to remove the libvtk5 packages
WITH ElmerGUItester needs a fix
The build of ElmerGUItester looks for mainform.ui file in the wrong folder.
Quick fix:
Code: Select all
ln ../elmerfem/ElmerGUItester/forms/mainform.ui ../elmerfem/ElmerGUItester/src/mainform.ui
-------------------
TL.DR:
The good: My compile of ElmerGUI on Debian finally works with OpenCascade.
Not so good: I was unable to compile with trilinos, mumps, matc and hypre. Some important libraries like libVTK and libopenmpi had to be taken from Debian stable.