Failed to build the Util/Gen-basis

I am trying to build the Utilities with the build_all.sh in the Util directory, but some of the tool’s compilations fail

 *** All failed directories:
 *** (Some programs have to be compiled after compiling Siesta)
   ./Gen-basis
   ./STM/ol-stm/Src
   ./SiestaSubroutine/ProtoNEB/Src
   ./SiestaSubroutine/SimpleTest/Src

I go into the Util/Gen-basis directory and try make, but it fails because the system can’t find the version_info.mod file

[alpha@fat01 Gen-basis]$ make
gfortran          -c -O3 -fPIC -ftree-vectorize -march=native -I./SiestaXC -I./SiestaXC   -DFC_HAVE_ABORT -DMPI  -UMPI  /home/alpha/software/siesta-4.1.5/Util/Gen-basis/../../Src/m_cite.F90
/home/alpha/software/siesta-4.1.5/Util/Gen-basis/../../Src/m_cite.F90:409:8:

     use version_info, only: version_str
        1
Fatal Error: Can't open module file ‘version_info.mod’ for reading at (1): No such file or directory
compilation terminated.
make: *** [m_cite.o] Error 1

but I checked the Obj directory, there exists a version_info.mod file.

[alpha@fat01 siesta-4.1.5]$ cd Obj/
[alpha@fat01 Obj]$ ll version_info.mod 
-rw-rw-r-- 1 alpha alpha 561 Jun 10 23:03 version_info.mod

For reference, this was replied here: failed to build the Util/Gen-basis (#190) · Issues · siesta-project / siesta · GitLab

Thanks a lot for your kindly help.
I am trying to read the code of SIESTA and modify the code to meet some custom needs, is there any tutorial for rookie developers?

Most of the information is on the wiki on Gitlab: Home · Wiki · siesta-project / siesta · GitLab.

I can also suggest a more generic Fortran Best Practices guide: Fortran Best Practices - Fortran Programming Language.

Thank you for your help. I am wondering if there is an explanation of the architecture of SIESTA’s code? Or any toolchain to help developers to understand the code structure?
There are maybe thousands of lines of code, it would be exhausting to reading the code line by line, especially since I am not trying to modify everything, I just want to modify the code to simulate the dynamic response to laser impulse with the TDDFT method.

I found an unfinished doc for developers, but it seems deprecated.

Yes. It is currently on hold and we are discussing about restarting these documentation efforts.