compilation error in yambo 5.0.1

Having trouble compiling the Yambo source? Using an unusual architecture? Problems with the "configure" script? Problems in GPU architectures? This is the place to look.

Moderators: Davide Sangalli, andrea.ferretti, myrta gruning, andrea marini, Daniele Varsano, Conor Hogan, Nicola Spallanzani

Forum rules
If you have trouble compiling Yambo, please make sure to list:
(1) the compiler (vendor and release: e.g. intel 10.1)
(2) the architecture (e.g. 64-bit IBM SP5)
(3) if the problems occur compiling in serial/in parallel
(4) the version of Yambo (revision number/major release version)
(5) the relevant compiler error message
Post Reply
shan dong
Posts: 48
Joined: Thu Oct 17, 2019 5:26 am

compilation error in yambo 5.0.1

Post by shan dong » Sat Apr 17, 2021 3:57 pm

Dear all,
I have compiled the yambo5.0.1 and i need the Electron Phonon Coupling part.I installed yambo by typing ./configure FC=mpiifort F77=mpiifort CC=mpiicc --with-iotk-path=/home/ycli/home2/ds/soft/qe-6.2/iotk --with-p2y-version=qexsd. but when i run make core

>>>[Making modules]<<<
Warning #2216: '=' assumed following macro name "_libmodules" in command-line definition

make[2]: 进入目录“/home2/ycli/ds/yambo-5.0.1/yambo-5.0.1/src/modules”
cd /home/ycli/home2/ds/yambo-5.0.1/yambo-5.0.1/src/modules; /home/ycli/home2/ds/yambo-5.0.1/yambo-5.0.1/sbin/moduledep.sh mod_pars.o mod_units.o mod_lexical_sort.o mod_stderr.o mod_memory.o mod_openmp.o mod_parallel.o mod_parallel_interface.o mod_matrix.o mod_SLK.o mod_linear_algebra.o mod_wrapper.o mod_wrapper_omp.o mod_drivers.o mod_FFT.o mod_LIVE_t.o mod_logo.o mod_cutoff_ws.o mod_descriptors.o mod_com.o mod_com_interfcs.o mod_timing.o mod_R_lattice.o mod_electrons.o mod_wave_func.o mod_xc_functionals.o mod_global_XC.o mod_matrix_operate.o mod_D_lattice.o mod_frequency.o mod_vec_operate.o mod_X.o mod_DIPOLES.o mod_functions.o mod_zeros.o mod_atom_proj.o mod_pseudo.o mod_QP.o mod_collision_el.o mod_BS.o mod_BS_solvers.o mod_QP_CTL.o mod_TDDFT.o mod_ACFDT.o mod_MAGNONS.o mod_DICHROISM.o mod_PHOTOLUM.o mod_IO.o mod_ELPH.o mod_PHEL.o mod_X_output.o mod_OUTPUT_simple.o mod_POL_FIT.o mod_RT_lifetimes.o mod_RT_occupations.o mod_real_time.o mod_hamiltonian.o mod_debug.o mod_interfaces.o mod_interpolate_tools.o mod_interpolate.o SET_logicals.o SET_defaults.o mod_cusolverdn_y.o mod_cuda.o > /home/ycli/home2/ds/yambo-5.0.1/yambo-5.0.1/src/modules/make.dep
make[2]: 离开目录“/home2/ycli/ds/yambo-5.0.1/yambo-5.0.1/src/modules”
make[2]: 进入目录“/home2/ycli/ds/yambo-5.0.1/yambo-5.0.1/src/modules”
mod_pars.f90(26): error #7002: Error in opening the compiled module file. Check INCLUDE paths. [NETCDF]
use netcdf
-----^
mod_pars.f90(87): error #6592: This symbol must be a defined parameter, an enumerator, or an argument of an inquiry function that evaluates to a compile-time constant. [NF90_FLOAT]
integer, parameter :: nf90_SP = nf90_float
----------------------------------^
mod_pars.f90(87): error #6404: This name does not have a type, and must have an explicit type. [NF90_FLOAT]
integer, parameter :: nf90_SP = nf90_float
----------------------------------^
compilation aborted for mod_pars.f90 (code 1)
make[2]: *** [mod_pars.o] 错误 1
make[2]: 离开目录“/home2/ycli/ds/yambo-5.0.1/yambo-5.0.1/src/modules”
make[1]: *** [yambo] 错误 2
make[1]: 离开目录“/home2/ycli/ds/yambo-5.0.1/yambo-5.0.1”
yambo build failed

Can you help me deal with it ?
You do not have the required permissions to view the files attached to this post.
yifei liu
PhD student
Beijing Institute of Technology,China

andrea.ferretti
Posts: 206
Joined: Fri Jan 31, 2014 11:13 am

Re: compilation error in yambo 5.0.1

Post by andrea.ferretti » Sat Apr 17, 2021 6:34 pm

Dear Shan Dong,

the error is triggered by the netcdf library, which is not properly compiled and makes the overall compilation to fail.
I see that you are compiling on a x86 architecture using the intel compiler.

The following works with me (yambo 5.0.1, intel compiler 20, no external libs)

Code: Select all

MKLROOT=/opt/intel/compilers_and_libraries_2020.0.166/linux/mkl

./configure \
  FC=ifort \
  CC=icc \
  --enable-open-mp \
  --enable-time-profile \
  --enable-memory-profile \
  --enable-msgs-comps
now:
* you can safely exploit MKL for fft and blas/lapack, blacs/scalapack, eg

Code: Select all

  --with-fft-libs="-mkl" \
  --with-blas-libs="-L$MKLROOT -lmkl_intel_lp64  -lmkl_sequential -lmkl_core " \
  --with-lapack-libs="-L$MKLROOT -lmkl_intel_lp64  -lmkl_sequential -lmkl_core " \
  --with-scalapack-libs="-L$MKLROOT -lmkl_scalapack_lp64 " \
  --with-blacs-libs="-L$MKLROOT -lmkl_blacs_intelmpi_lp64 " \
* good also to link to external iotk (as you are doing) to save some time
* in case you still have issues with netcdf, you can try to compile the IO software stack externally, I mean, you can compile hdf5, netcdf-c, netcdff externally and then link them with yambo
Andrea Ferretti, PhD
CNR-NANO-S3 and MaX Centre
via Campi 213/A, 41125, Modena, Italy
Tel: +39 059 2055322; Skype: andrea_ferretti
URL: http://www.nano.cnr.it

Post Reply