Issue when compiling with "make all"
Posted: Wed Feb 03, 2021 4:03 pm
Hello,
I am trying to compile Yambo 4.5.3 for a user but I am running into some issues when doing make all.
As far as I can tell, there are some issues with the "internal" dependencies handling in the makefile.
For example, ypp is compiled before ypp_ph. Both depends on ypp/modules/ but ypp_ph adds a YPP_ELPH define when compiling the files in this folder. Unfortunately it seems that it doesn't trigger a new recompilation when the folder ypp/modules/ has already been visited when building ypp.
If you look at the content of the folder "ypp/modules":
you can see that there is no "mod_YPP_ELPH.o" which means that the code has not been recompiled with the "YPP_ELPH" define.
You can find the configure report and full compilation log attached.
Any ideas on how to fix that issue or at least work it around?
Best regards,
Rémi
I am trying to compile Yambo 4.5.3 for a user but I am running into some issues when doing make all.
Code: Select all
>>>[Making elph]<<<
Warning #2216: '=' assumed following macro name "_lib_ypp_elph" in command-line definition
make[2]: Entering directory '/tmp/.../spack-stage/spack-stage-yambo-4.5.3-o6frkdep6vmvso3hpg3dzsolwrdslkvy/spack-src/ypp/elph'
cd /tmp/.../spack-stage/spack-stage-yambo-4.5.3-o6frkdep6vmvso3hpg3dzsolwrdslkvy/spack-src/ypp/elph; /tmp/.../spack-stage/spack-stage-yambo-4.5.3-o6frkdep6vmvso3hpg3dzsolwrdslkvy/spack-src/sbin/moduledep.sh ELPH_databases.o ELPH_eliashberg_dos.o ELPH_general_gFsq.o ELPH_gkkp_expand.o > /tmp/.../spack-stage/spack-stage-yambo-4.5.3-o6frkdep6vmvso3hpg3dzsolwrdslkvy/spack-src/ypp/elph/make.dep
ELPH_databases.f90(36): error #7002: Error in opening the compiled module file. Check INCLUDE paths. [YPP_ELPH]
use YPP_ELPH, ONLY:ph_freqs_file,ph_modes_file
-----^
ELPH_databases.f90(323): error #7002: Error in opening the compiled module file. Check INCLUDE paths. [YPP_ELPH]
use YPP_ELPH, ONLY:elph_dbs_path
-------^
ELPH_databases.f90(163): error #6404: This name does not have a type, and must have an explicit type. [PH_FREQS_FILE]
if (file_exists(trim(ph_freqs_file))) then
----------------------^
ELPH_databases.f90(163): error #6362: The data types of the argument(s) are invalid. [TRIM]
if (file_exists(trim(ph_freqs_file))) then
----------------------^
ELPH_databases.f90(164): error #6362: The data types of the argument(s) are invalid. [TRIM]
call msg('s',"Phonon frequencies (re)read from: "//trim(ph_freqs_file))
-----------------------------------------------------------^
ELPH_databases.f90(169): error #6404: This name does not have a type, and must have an explicit type. [PH_MODES_FILE]
if (file_exists(trim(ph_modes_file))) then
----------------------^
ELPH_databases.f90(169): error #6362: The data types of the argument(s) are invalid. [TRIM]
if (file_exists(trim(ph_modes_file))) then
----------------------^
ELPH_databases.f90(170): error #6362: The data types of the argument(s) are invalid. [TRIM]
call msg('s',"Phonon modes (re)read from: "//trim(ph_modes_file))
-----------------------------------------------------^
ELPH_databases.f90(203): error #6362: The data types of the argument(s) are invalid. [TRIM]
open(unit=98,file=trim(ph_modes_file))
--------------------------^
ELPH_databases.f90(36): error #6580: Name in only-list does not exist or is not accessible. [PH_FREQS_FILE]
use YPP_ELPH, ONLY:ph_freqs_file,ph_modes_file
-------------------------------^
ELPH_databases.f90(36): error #6580: Name in only-list does not exist or is not accessible. [PH_MODES_FILE]
use YPP_ELPH, ONLY:ph_freqs_file,ph_modes_file
---------------------------------------------^
ELPH_databases.f90(363): error #6404: This name does not have a type, and must have an explicit type. [ELPH_DBS_PATH]
io_err=io_connect(desc=trim(elph_dbs_path)//"/"//trim(db_name),type=-2,ID=ID)
-------------------------------^
ELPH_databases.f90(363): error #6362: The data types of the argument(s) are invalid. [TRIM]
io_err=io_connect(desc=trim(elph_dbs_path)//"/"//trim(db_name),type=-2,ID=ID)
-------------------------------^
ELPH_databases.f90(484): error #6362: The data types of the argument(s) are invalid. [TRIM]
open(unit=99,file=trim(ph_freqs_file))
----------------------------^
ELPH_databases.f90(491): error #6362: The data types of the argument(s) are invalid. [TRIM]
& .not.v_is_zero(ph_q(:)+real(Q_DP(:)),zero_=k_iku_zero)) call error("Incorrect q-point in "//trim(ph_freqs_file))
----------------------------------------------------------------------------------------------------------^
ELPH_databases.f90(506): error #6362: The data types of the argument(s) are invalid. [TRIM]
& .not.v_is_zero(ph_q(:)+real(Q_DP(:)),zero_=k_iku_zero)) call error("Incorrect q-point in "//trim(ph_modes_file))
----------------------------------------------------------------------------------------------------------^
ELPH_databases.f90(323): error #6580: Name in only-list does not exist or is not accessible. [ELPH_DBS_PATH]
use YPP_ELPH, ONLY:elph_dbs_path
----------------------------^
compilation aborted for ELPH_databases.f90 (code 1)
make[2]: *** [Makefile:222: ELPH_databases.o] Error 1
make[2]: Leaving directory '/tmp/.../spack-stage/spack-stage-yambo-4.5.3-o6frkdep6vmvso3hpg3dzsolwrdslkvy/spack-src/ypp/elph'
make[1]: *** [Makefile:249: ypp_ph] Error 2
make[1]: Leaving directory '/tmp/.../spack-stage/spack-stage-yambo-4.5.3-o6frkdep6vmvso3hpg3dzsolwrdslkvy/spack-src'
ypp_ph build failed
For example, ypp is compiled before ypp_ph. Both depends on ypp/modules/ but ypp_ph adds a YPP_ELPH define when compiling the files in this folder. Unfortunately it seems that it doesn't trigger a new recompilation when the folder ypp/modules/ has already been visited when building ypp.
If you look at the content of the folder "ypp/modules":
Code: Select all
$ ll ypp/modules/
total 132
-rw-r--r-- 1 user grp 12142 Feb 3 15:44 Makefile
-rw-r--r-- 1 user grp 5358 Nov 4 18:38 YPP_SET_defaults.F
-rw-r--r-- 1 user grp 23504 Feb 3 15:44 YPP_SET_defaults.o
-rw-r--r-- 1 user grp 0 Feb 3 15:44 __lock_D_HDF5_LIB_D_HDF5_IO_D_HDF5_COMPRESSION_D_FFTW_D_FFTW_OMP_D_SCALAPACK
-rw-r--r-- 1 user grp 445 Feb 3 15:44 make.dep
-rw-r--r-- 1 user grp 9585 Nov 4 18:38 mod_YPP.F
-rw-r--r-- 1 user grp 33976 Feb 3 15:44 mod_YPP.o
-rw-r--r-- 1 user grp 1791 Nov 4 18:38 mod_YPP_ELPH.F
-rw-r--r-- 1 user grp 1459 Nov 4 18:38 mod_YPP_interfaces.F
-rw-r--r-- 1 user grp 4312 Feb 3 15:44 mod_YPP_interfaces.o
-rw-r--r-- 1 user grp 4626 Nov 4 18:38 mod_YPP_real_time.F
-rw-r--r-- 1 user grp 1341 Nov 4 18:38 mod_YPP_symm.F
-rw-r--r-- 1 user grp 6320 Feb 3 15:44 mod_YPP_symm.o
You can find the configure report and full compilation log attached.
Any ideas on how to fix that issue or at least work it around?
Best regards,
Rémi