deal ii 9.1.1. installation fails

109 views
Skip to first unread message

Stefan Knauf

unread,
Apr 21, 2020, 7:24:22 AM4/21/20
to deal.II User Group
Hi,

I am trying to install deal-9.1.1 and get the following error:

 Configuration error: Cannot compile a test program with the final set of
    compiler and linker flags: ...

I used the following command:

cmake -DDEAL_II_WITH_MPI=ON -DP4ESTDIR=/home/stefan/p4est-2.2/local/lib -DDEAL_WITH_P4EST=ON -DDEAL_WITH_TRILINOS=ON ../sources/dealii-9.1.1/ ../install/
command 

I have attached the cmake output and error log.
Any help would be appreciated.
Thank you for your support.

Stefan
CMakeError.log
CMakeOutput.log

Wolfgang Bangerth

unread,
Apr 21, 2020, 5:06:27 PM4/21/20
to dea...@googlegroups.com
On 4/21/20 5:24 AM, Stefan Knauf wrote:
>
> I used the following command:
>
> cmake -DDEAL_II_WITH_MPI=ON -DP4ESTDIR=/home/stefan/p4est-2.2/local/lib
> -DDEAL_WITH_P4EST=ON -DDEAL_WITH_TRILINOS=ON ../sources/dealii-9.1.1/ ../install/
> command
>
> I have attached the cmake output and error log.
> Any help would be appreciated.

I *believe* that this comes from the following error message:
No rule to make target '/usr/lib/x86_64-linux-gnu/libptscotch.so', needed by
'cmTC_d4d5a'. Stop.
I don't know where it pulls that in, but it may be from the Trilinos
dependency. Does it work if you switch Trilinos detection off?

Best
W.

--
------------------------------------------------------------------------
Wolfgang Bangerth email: bang...@colostate.edu
www: http://www.math.colostate.edu/~bangerth/

Matthias Maier

unread,
Apr 21, 2020, 5:10:38 PM4/21/20
to dea...@googlegroups.com

On Tue, Apr 21, 2020, at 16:06 CDT, Wolfgang Bangerth <bang...@colostate.edu> wrote:

> On 4/21/20 5:24 AM, Stefan Knauf wrote:
>>
>> I used the following command:
>>
>> cmake -DDEAL_II_WITH_MPI=ON
>> -DP4ESTDIR=/home/stefan/p4est-2.2/local/lib -DDEAL_WITH_P4EST=ON
>> -DDEAL_WITH_TRILINOS=ON ../sources/dealii-9.1.1/ ../install/
>> command
>>
>> I have attached the cmake output and error log.
>> Any help would be appreciated.
>
> I *believe* that this comes from the following error message:
> No rule to make target '/usr/lib/x86_64-linux-gnu/libptscotch.so', needed by
> 'cmTC_d4d5a'. Stop.
> I don't know where it pulls that in, but it may be from the Trilinos
> dependency. Does it work if you switch Trilinos detection off?

detailed.log should shed some light on what dependency pulled in libptscotch.so

Best,
Matthias

Stefan Knauf

unread,
Apr 22, 2020, 6:57:40 AM4/22/20
to deal.II User Group
Hi Matthias and Wolfgang,

thank you very much for your quick reply. 

> Does it work if you switch Trilinos detection off? 

Yes. I switched TRILINOS off and end with the attached detailed.log.trilinos_off, CMakeOutput.log.trilinos_off and CMakeError.log.trilinos_off

>detailed.log should shed some light on what dependency pulled in libptscotch.so

When I switch it on again, there is no file named detailed.log, I have attached the other two output files once more with suffix _trilinos_on.
Best

Stefan
CMakeError.log.trilinos_off
CMakeError.log.trilinos_on
CMakeOutput.log.trilinos_off
CMakeOutput.log.trilinos_on
detailed.log.trilinos_off

Wolfgang Bangerth

unread,
Apr 22, 2020, 10:34:33 AM4/22/20
to dea...@googlegroups.com
On 4/22/20 4:57 AM, Stefan Knauf wrote:
>
>> Does it work if you switch Trilinos detection off?
>
> Yes. I switched TRILINOS off and end with the attached
> detailed.log.trilinos_off, CMakeOutput.log.trilinos_off and
> CMakeError.log.trilinos_off

Stefan,
my suspicion is that there is a problem with the Trilinos installation you are
using. deal.II imports a list of libraries we need to link with from the
Trilinos installation -- these are libraries Trilinos needs, and consequently
that any program based-on-deal.II-based-on-Trilinos needs. If Trilinos in its
installation lists that it needs PT-Scotch, then we take that at face value
and expect that PT-Scotch is actually installed. If it isn't, then that's of
course a problem in that Trilinos tells us that it needs something that isn't
actually available.

I don't know why your Trilinos installation requires PT-Scotch. But you can
test my hypothesis if you search your Trilinos installation and grep all of
its files for ptscotch. That isn't going to solve your problem, but it can at
least verify/falsify my hypothesis. You could then also try to just edit out
that line that references ptscotch -- although it is of course possible that
some file really does make use of ptscotch and indeed *needs* it.

How did you install Trilinos?

Stefan Knauf

unread,
Apr 25, 2020, 4:17:20 PM4/25/20
to deal.II User Group
I can't say for sure which parameters I had used for the trilinos installation before, so I installed it from scratch with similar parameters compared to https://www.dealii.org/current/external-libs/trilinos.html
In detail I used:
cmake                                            \
    -DTrilinos_ENABLE_Amesos=ON                      \
    -DTrilinos_ENABLE_Epetra=ON                      \
    -DTrilinos_ENABLE_EpetraExt=ON                   \
    -DTrilinos_ENABLE_Ifpack=ON                      \
    -DTrilinos_ENABLE_AztecOO=ON                     \
    -DTrilinos_ENABLE_Sacado=ON                      \
    -DTrilinos_ENABLE_Teuchos=ON                     \
    -DTrilinos_ENABLE_MueLu=ON                       \
    -DTrilinos_ENABLE_ML=ON                          \
    -DTrilinos_ENABLE_ROL=ON                         \
    -DTrilinos_ENABLE_Tpetra=ON                      \
    -DTeuchos_ENABLE_COMPLEX:BOOL=ON                 \
    -DTeuchos_ENABLE_FLOAT:BOOL=ON                   \
    -DTpetra_INST_FLOAT=ON                           \
    -DTpetra_INST_COMPLEX_DOUBLE=ON                  \
    -DTpetra_INST_COMPLEX_FLOAT=ON                   \
    -DTrilinos_ENABLE_Zoltan=ON                      \
    -DTrilinos_VERBOSE_CONFIGURE=OFF                 \
    -DTPL_ENABLE_MPI=ON                              \
    -DBUILD_SHARED_LIBS=ON                           \
    -DCMAKE_VERBOSE_MAKEFILE=OFF                     \
    -DCMAKE_BUILD_TYPE=RELEASE                       \
    -DCMAKE_INSTALL_PREFIX:PATH=$HOME/share/trilinos \
    ../Trilinos-master
With these parameters I was able to install trilinos and now also cmake (for deal.ii) finished successfully.
Unfortuneately now "make install" stops with an error:
[ 42%] Building CXX object source/lac/CMakeFiles/obj_lac_release.dir/trilinos_precondition_muelu.cc.o
/home/stefan/deal/dealii-9.1.1/source/lac/trilinos_precondition_muelu.cc:24:14: fatal error: MueLu_CreateEpetraPreconditioner.hpp: No such file or directory
 #    include <MueLu_CreateEpetraPreconditioner.hpp>
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
source/lac/CMakeFiles/obj_lac_release.dir/build.make:1286: recipe for target 'source/lac/CMakeFiles/obj_lac_release.dir/trilinos_precondition_muelu.cc.o' failed
make[2]: *** [source/lac/CMakeFiles/obj_lac_release.dir/trilinos_precondition_muelu.cc.o] Error 1
CMakeFiles/Makefile2:1409: recipe for target 'source/lac/CMakeFiles/obj_lac_release.dir/all' failed
make[1]: *** [source/lac/CMakeFiles/obj_lac_release.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2
I have attached detailed.log etc.
So I guess I am one step further but still the installation with trilinos support was not successful. Any further idea?
Thanks.


Am Dienstag, 21. April 2020 13:24:22 UTC+2 schrieb Stefan Knauf:
detailed.log
CMakeError.log
CMakeOutput.log

Bruno Turcksin

unread,
Apr 27, 2020, 7:50:57 AM4/27/20
to deal.II User Group
Stefan,

On Saturday, April 25, 2020 at 4:17:20 PM UTC-4, Stefan Knauf wrote:
Unfortuneately now "make install" stops with an error:
[ 42%] Building CXX object source/lac/CMakeFiles/obj_lac_release.dir/trilinos_precondition_muelu.cc.o
/home/stefan/deal/dealii-9.1.1/source/lac/trilinos_precondition_muelu.cc:24:14: fatal error: MueLu_CreateEpetraPreconditioner.hpp: No such file or directory
 #    include <MueLu_CreateEpetraPreconditioner.hpp>
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
source/lac/CMakeFiles/obj_lac_release.dir/build.make:1286: recipe for target 'source/lac/CMakeFiles/obj_lac_release.dir/trilinos_precondition_muelu.cc.o' failed
make[2]: *** [source/lac/CMakeFiles/obj_lac_release.dir/trilinos_precondition_muelu.cc.o] Error 1
CMakeFiles/Makefile2:1409: recipe for target 'source/lac/CMakeFiles/obj_lac_release.dir/all' failed
make[1]: *** [source/lac/CMakeFiles/obj_lac_release.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2
I have attached detailed.log etc.
So I guess I am one step further but still the installation with trilinos support was not successful. Any further idea?

This is due to a non-backward compatible change in Trilinos. Unless you have a good reason don't use their master. It should work fine with 12.18. If you really need Trilinos-master, you need to use the master branch of deal.II and disable the wrappers for MueLU.

Best,

Bruno

Wilmar Alves Cruvinel Lima

unread,
Apr 27, 2020, 2:04:52 PM4/27/20
to deal.II User Group
Dear Stefan,

Did you installed on Linux? 

If so, your commands:

mkdir build
  cd build
  cmake -DCMAKE_INSTALL_PREFIX=/path/to/install/dir ../deal.II

and, 

make --jobs=4 install
  make test

Terminated without erros?

Stefan Knauf

unread,
Apr 28, 2020, 4:01:56 AM4/28/20
to deal.II User Group
Dear Bruno,

thank you, I installed Trilinos 12.18.1 and now it worked. Since the TRILINOS_VERSION is detected by cmake I would have rather expected a cmake error (wrong version, as for example for p4est, where also a specific version is needed and cmake throws an error if the version is too old). Anyway, not it works, thank you once more for the support.
Best regards

Stefan

Stefan Knauf

unread,
Apr 28, 2020, 4:03:52 AM4/28/20
to deal.II User Group
Yes, it was an Installation on a ubuntu 18.04 machine. cmake …. with the parameters above finished without errors, but make install failed (see above).
But it was due to an unsupported version of trilinos, with trilinos 12.18.1 it works.

Bruno Turcksin

unread,
Apr 28, 2020, 8:49:52 AM4/28/20
to dea...@googlegroups.com
Stefan,

Le mar. 28 avr. 2020 à 04:02, Stefan Knauf <stefan...@gmail.com> a écrit :
> thank you, I installed Trilinos 12.18.1 and now it worked. Since the TRILINOS_VERSION is detected by cmake I would have rather expected a cmake error (wrong version, as for example for p4est, where also a specific version is needed and cmake throws an error if the version is too old). Anyway, not it works, thank you once more for the support.

The master branch should throw a warning but Trilinos had been
backward compatible for 10 years so we didn't expect them to break it.

Best,

Bruno
Reply all
Reply to author
Forward
0 new messages