Missing f2kcli.o when compiling psml2psf converter
Summary:
I am unable to compile the psml2psf converter on the latest commit of the psml-support branch. The main Siesta executable compiles just fine, but when trying to compile the psml2psf converter it complains that there is no recipe for f2kcli.o.
Code version:
The latest version of the psml-support branch as of this day (08-11-2021 at 14:31).
From the SIESTA.version: 3.0-root-348-gfba23d9b
The Commit Hash: 8f912890
System information:
OS: CentOS 8
Compiler: gcc (GCC) 10.3.0
Libraries:
- OpenMPI 4.1.1
- OpenBLAS 0.3.15
- ScaLAPACK 2.1.0
- LibPSML 1.1.10
- XMLF90 1.5.4
- LibXC 4.3.4
- LibGridXC 0.9.6
- flook 0.8.1
For the arch.make see the attached file. arch.make
I compiled with enabled MPI support in the arch.make (although I don't think the converter is compiled with MPI support).
Compilation output:
When compiling the psml2psf converter I get the error:
make: *** No rule to make target 'f2kcli.o', needed by 'm_getopts.o'. Stop.
Possible fixes
I did a little bit of research myself and I tracked down the problem to the rewriting of command line parsing in this commit: 06f1d572 . During this rewriting the f2kcli.F90 file was removed, but the psml2psf converter still expects it to be there and therefore no longer compiles. If I checkout a commit just before this change, e.g. https://gitlab.com/siesta-project/siesta/-/tree/fba23d9bada9f9dd6d702da84225b8ad9991c987/ , then I am able to compile the converter just fine. So I would expect that a fix would be to either (temporarily) bundle the f2kcli.F90 file with the converter or to also rewrite the argument parser for the converter to not use this f2kcli file.