Fortran: Ninja fails when build tree path has a symlink
I am building a project (ParaView) on Linux in a build
named build folder which happens to be a symbolic link pointing to a folder named buildD
. (build -> buildD)
Recently, I have started using the Ninja
build system and since then I have the following problem:
Check for working Fortran compiler: /usr/bin/f95 - broken
CMake Error at [...]/Software/install/cmake/share/cmake-3.19/Modules/CMakeTestFortranCompiler.cmake:51 (message):
The Fortran compiler
"/usr/bin/f95"
is not able to compile a simple test program.
It fails with the following output:
Change Dir: [...]/Software/sources/paraview/master/build/CMakeFiles/CMakeTmp
Run Build Command(s):/usr/bin/ninja cmTC_6340f && [1/4] Building Fortran preprocessed CMakeFiles/cmTC_6340f.dir/testFortranCompiler.f-pp.f
[2/4] Generating Fortran dyndep file CMakeFiles/cmTC_6340f.dir/Fortran.dd
ninja: build stopped: CMakeFiles/cmTC_6340f.dir/Fortran.dd:2: no build statement exists for '[...]/Software/sources/paraview/master/buildD/CMakeFiles/CMakeTmp/CMakeFiles/cmTC_6340f.dir/testFortranCompiler.f.o'
We see that the first occurence of CMakeTmp is in build
and the second one in buildD
. Only one of them resolved the symbolic link.
The problem disappear if I comment the line enable_langage(Fortran OPTIONAL)