I am new at dealing with deal.II, precice and in general with linux, thus I apologize in advance if my question is very basic but I cannnot install the deal.II-preCICE adapter.
that’s interesting. How did you install preCICE on your system?
Usually, there are two common scenarios:
you installed preCICE by downloading and installing the binaries system-wide: in this cases, you can omit the second argument -Dprecice_DIR, since cmake searches in the systems directories by default
you downloaded the source code and compiled preCICE yourself: in this cases, you either specify the build directory (if you did not run make install after building preCICE, i.e., you don’t install it system-wide) e.g., cmake -Dprecice_DIR=$HOME/precice/build or you specify the install prefix of your preCICE installation.
The extracted files are located in: ~/software/precice-2.3.0 since I wanted to use a user-wide prefix
I also modified the .bashrc file as instructed in the same webpage
PRECICE_PREFIX=~/software/prefix # set this to your selected prefix
export LD_LIBRARY_PATH=$PRECICE_PREFIX/lib:$LD_LIBRARY_PATH
export CPATH=$PRECICE_PREFIX/include:$CPATH
# Enable detection with pkg-config and CMake
export PKG_CONFIG_PATH=$PRECICE_PREFIX/lib/pkgconfig:$PKG_CONFIG_PATH
export CMAKE_PREFIX_PATH=$PRECICE_PREFIX:$CMAKE_PREFIX_PATH
I was looking for the lib and include folders inside the precice-2.3.0 folder but there isn’t any. So at the end it looks like I did not install it.
This way, you download and extract the source code, but you don’t build preCICE. Which Linux distribution are you working on? Have you considered to install compiled binaries instead of building from source?
Note that the prefix refers here to the installation prefix. So you either need to download binaries or you need to compile and install the slef-generated binaries in PRECICE_PREFIX
No, cmake version 3.10.2 is required. However, you can easily install a newer version of cmake (if you still want to build preCICE yourself).
This way, you download and extract the source code, but you don’t build preCICE. Which Linux distribution are you working on? Have you considered to install compiled binaries instead of building from source?
I am using ubuntu 16.04. I though that I need to build from source that’s why I chose this path
If it is possible to install the compiled binaries than I’m ok with it. However, if due to ubuntu 16.04 I need to build from source, do I need to remove my current cmake version and install the 3.10.2 version?
Component configuration:
( DEAL_II_COMPONENT_DOCUMENTATION = OFF )
DEAL_II_COMPONENT_EXAMPLES
( DEAL_II_COMPONENT_PACKAGE = OFF )
( DEAL_II_COMPONENT_PYTHON_BINDINGS = OFF )
Detailed information (compiler flags, feature configuration) can be found in detailed.log
Run $ make info to print a help message with a list of top level targets
– Configuring done
– Generating done
– Build files have been written to: ~/software/dealii-9.3.2
Next, I typed: make install
It was compiled, but then at 77% it stopped with the output:
[ 77%] Building CXX object source/base/CMakeFiles/obj_base_release.dir/symmetric_tensor.cc.o
In file included from ~/software/dealii-9.3.2/source/base/symmetric_tensor.cc:20:0:
~/software/dealii-9.3.2/include/deal.II/base/symmetric_tensor.templates.h: In instantiation of ‘std::array<Number, 3ul> dealii::eigenvalues(const dealii::SymmetricTensor<2, 3, Number>&) [with Number = float]’:
~/software/dealii-9.3.2/source/base/symmetric_tensor.inst:85:42: required from here
~/software/dealii-9.3.2/include/deal.II/base/symmetric_tensor.templates.h:113:39: in constexpr expansion of ‘dealii::determinant<3, float>(B)’
~/software/dealii-9.3.2/include/deal.II/base/symmetric_tensor.templates.h:113:43: internal compiler error: Segmentation fault
const Number tmp_2 = determinant(B) / 2.0;
^
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-5/README.Bugs> for instructions.
source/base/CMakeFiles/obj_base_release.dir/build.make:2030: recipe for target ‘source/base/CMakeFiles/obj_base_release.dir/symmetric_tensor.cc.o’ failed
make[2]: *** [source/base/CMakeFiles/obj_base_release.dir/symmetric_tensor.cc.o] Error 1
CMakeFiles/Makefile2:1897: recipe for target ‘source/base/CMakeFiles/obj_base_release.dir/all’ failed
make[1]: *** [source/base/CMakeFiles/obj_base_release.dir/all] Error 2
Makefile:129: recipe for target ‘all’ failed
make: *** [all] Error 2
It seems that there is a file or more missing, however I got the files from the official deal.II site. Any ideas?
Now, I undertand, I first need to get this solved before I try to install the adapter
Hm This looks rather like a problem with your compiler/deal.II. Maybe deal.II 9.3 requires a different compiler (with c++14 support) or similar. People on the deal.II mailinglist can probably tell you better. You might get away using a lower deal.II version (the adapter requires 9.2) or upgrading your compiler (or use clang which might be pull’able from apt).
Thanks. The problem was due to deal 9.3. I installed deal. 9.2.0 and the installation was successful. After that I was able to install the adapter.
Cheers,
Roberto