aoterodelaroza/critic2

unable to build with cmake/ninja from 81dbc0fdb8646f90e1601f237e9eef8c8906cb8f on

balducci opened this issue · 2 comments

hello

starting with 81dbc0f until current master I'm unable to build critic2 with cmake/ninja and getting:

ninja: build stopped: multiple rules generate src/abinit_private.mod.

On the other hand, building with cmake/Makefiles works fine

Also, building with ninja has worked fine up to and including 4612739

Just curious to know if somebody else has noticed this or if something weird is going on on my side

It seems to me that there might be some glitch in the cmake files that causes generation of broken ninja files (while generation of Makefiles is fine); however, due to my ignorance about cmake/ninja I'm unable to debug this

Building with (if that matters):

-DCMAKE_Fortran_FLAGS=-fallow-argument-mismatch 

Using these versions of cmake/ninja:

##> cmake --version
cmake version 3.24.2

##> ninja --version
1.11.1

but I have also downgraded to cmake-3.23.1/ninja-1.10.2 and got the same error

thanks in advance for any help
ciao
-gabriele

Hi @balducci : I have never used ninja, so I can't help very much. Two things: i) I fixed a few problems with the internal BLAS/LAPACK copy in the build system shortly after this message, and ii) I have had problems with how cmake generates the Fortran make dependencies in the past. The Fortran module/submodule dependencies are a bit tricky, and I'm not sure cmake got them quite right in all cases supported by the Fortran standard. ninja is not as popular as make so I imagine you are seeing a worse version of this problem since the commit you mention happened at around the time yet another submodule was added to the build.

thank you very much for the feedback

the problem is not serious for me because, as i said, building with makefiles works fine

But as I have been building with ninja since quite a bit, it's a pity that ninja has broken...

I'll find the time to make a git bisect and see if that will give some clue

I'll report back any good result

thanks for your valuable work
-g