internal library (iotk) compilation problem (make all failed)

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
muhammadhasan
Posts: 45
Joined: Tue Aug 27, 2024 4:42 am

internal library (iotk) compilation problem (make all failed)

Post by muhammadhasan » Mon Mar 24, 2025 7:10 pm

Hi,

I am trying to install Yambo 5.3.0 (Git version) on HPC cluster, and I'm facing problems during the internal library (iotk) compilation step. Would you please help me to solve the problem? Here are the details(config.log also attached):
Compiler info:
Compiler: GCC 11.2.0 with OpenMPI 4.0.6
FC: mpif90
CC: mpicc
Architecture:
System: x86_64 architecture
OS: Linux (RedHat-based)
Serial or Parallel build?
Problem occurs both in serial and parallel builds (tried make -j8 and make)
Yambo version
Yambo 5.3.0 (from Git, branch: master)

This is my job file:

Code: Select all

#!/bin/bash
#SBATCH --nodes=1           # Total # of nodes 
#SBATCH --ntasks=14          # Total # of MPI tasks
#SBATCH --time=4-00:00:00   # Total run time limit (hh:mm:ss)
#SBATCH -o yambo_install.out  # Name of stdout output file
#SBATCH -e yambo_install.err  # Name of stderr error file
#SBATCH -p shared           # Queue (partition) name

# Set unlimited memory lock
ulimit -l unlimited

# Load required modules
module purge
module load gcc/11.2.0 openmpi/4.0.6 fftw/3.3.8 openblas/0.3.17 hdf5/1.10.7 netcdf-c/4.7.4 netcdf-fortran/4.5.3

# Set environment variables for Fortran precompiler
export FC=gfortran
export MPIFC=mpif90
export FCFLAGS="-cpp"

make clean
make distclean

./configure --enable-open-mp CC=mpicc FC=mpif90 F77=mpif90 FCFLAGS="-fopenmp" CFLAGS="-fopenmp" FPP="cpp -P"

# Check if configure succeeded
if [ $? -ne 0 ]; then
  echo "Configure failed. Check yambo_install.err for details."
  exit 1
fi

# Compile Yambo
make all

# Check if make succeeded
if [ $? -ne 0 ]; then
  echo "Make failed. Check yambo_install.err for details."
  exit 1
fi
Here is the error file's info:

Code: Select all

The following modules were not unloaded:
  (Use "module --force purge" to unload all):

  1) xalt/2.10.45
sed: -e expression #1, char 14: unknown option to `s'
cp: cannot stat 'iotk-y1.2.2/src/*.a': No such file or directory
chmod: cannot access '/anvil/projects/x-mch240098/software_installation/git_yambo/yambo-5.3.0-git/lib/external/unknown/mpif90/lib/*iotk*.a': No such file or directory
cp: cannot stat 'iotk-y1.2.2/src/*.x': No such file or directory
objects.mk:8: *** missing separator (did you mean TAB instead of 8 spaces?).  Stop.
grep: /anvil/projects/x-mch240098/software_installation/git_yambo/yambo-5.3.0-git/log/compile_qe_pseudo.log: No such file or directory
make[2]: *** [Makefile:58: int-libs] Error 1
make[1]: *** [config/mk/global/actions/compile_yambo.mk:40: yambo] Error 2
make: *** [Makefile:54: all] Error 1
Part of the outputfile:

Code: Select all

\t[iotk-y1.2.2] configuration
\t[iotk-y1.2.2] loclib_only compilation
\t[iotk-y1.2.2] iotk.x compilation
\t[iotk-y1.2.2] installation
\t[hdf5-1.12.2] configuration
\t[hdf5-1.12.2]  compilation
\t[hdf5-1.12.2] installation
\t[netcdf-c-4.9.0] configuration
\t[netcdf-c-4.9.0]  compilation
\t[netcdf-c-4.9.0] installation
\t[netcdf-fortran-4.6.0] configuration
\t[netcdf-fortran-4.6.0]  compilation
\t[netcdf-fortran-4.6.0] installation
\t[libxc-5.2.3] download libxc-5.2.3.tar.gz
\t[libxc-5.2.3] autoconf
\t[libxc-5.2.3] configuration
\t[libxc-5.2.3]  compilation
\t[libxc-5.2.3] installation
\t[lapack-3.12.0] configuration
\t[lapack-3.12.0] compilation
\t[lapack-3.12.0] installation
\t[fftw-3.3.10] download fftw-3.3.10.tar.gz
\t[fftw-3.3.10] configuration
\t[fftw-3.3.10]  compilation
\t[fftw-3.3.10] installation
\t[devicexlib-0.8.5] download devicexlib-0.8.5.tar.gz
\t[devicexlib-0.8.5] configuration
\t[devicexlib-0.8.5] all compilation
\t[devicexlib-0.8.5] installation
\t[lib/qe_pseudo] qe_pseudo (setup)
qe_pseudo build failed
yambo build failed
Make failed. Check yambo_install.err for details.
Best Regards
Md Jahid Hasan
PhD student, Mechanical Engineering
University of Maine
You do not have the required permissions to view the files attached to this post.

User avatar
Nicola Spallanzani
Posts: 93
Joined: Thu Nov 21, 2019 10:15 am

Re: internal library (iotk) compilation problem (make all failed)

Post by Nicola Spallanzani » Tue Mar 25, 2025 9:13 am

Dear Hasan,
please try again with this configure line without the other variable definitions:

Code: Select all

make distclean
./configure --enable-open-mp CC=mpicc FC=mpif90 F77=mpif90
If it is still failing please send the content of the directory "log/" and the two files config/report and config/setup.

Best regards,
Nicola
Nicola Spallanzani, PhD
S3 Centre, Istituto Nanoscienze CNR and MaX Center, Italy
MaX - Materials design at the Exascale
http://www.nano.cnr.it
http://www.max-centre.eu

muhammadhasan
Posts: 45
Joined: Tue Aug 27, 2024 4:42 am

Re: internal library (iotk) compilation problem (make all failed)

Post by muhammadhasan » Tue Mar 25, 2025 5:32 pm

Hi Dr Nicola,

Thank you so much for your reply.
When I use configure as shown below, there are no files inside the log folder and config/setup, config/report are not generated.

Code: Select all

module load gcc/11.2.0 openmpi/4.0.6 fftw/3.3.8 openblas/0.3.17 hdf5/1.10.7 netcdf-c/4.7.4 netcdf-fortran/4.5.3

make clean
make distclean
./configure --enable-open-mp CC=mpicc FC=mpif90 F77=mpif90 

make all
It shows the following error message on the time.

Code: Select all

configure: error: Found FC precompiler problems in processing FC source.

However, If I add the tag FPP="cpp -P", then it generates the config/setup, config/report files.

Code: Select all

./configure --enable-open-mp CC=mpicc FC=mpif90 F77=mpif90 FPP="cpp -P"
Also, it throws error message as follows:

Code: Select all

 
config/mk/global/no_configure_help.mk:27: *** Stopping here.  Stop.
config/mk/global/no_configure_help.mk:27: *** Stopping here.  Stop.
sed: -e expression #1, char 14: unknown option to `s'
cp: cannot stat 'iotk-y1.2.2/src/*.a': No such file or directory
chmod: cannot access '/anvil/projects/x-mch240098/software_installation/yambo-5.3.0-git/lib/external/unknown/mpifort/lib/*iotk*.a': No such file or directory
cp: cannot stat 'iotk-y1.2.2/src/*.x': No such file or directory
objects.mk:8: *** missing separator (did you mean TAB instead of 8 spaces?).  Stop.
grep: /anvil/projects/x-mch240098/software_installation/yambo-5.3.0-git/log/compile_qe_pseudo.log: No such file or directory
make[2]: *** [Makefile:58: int-libs] Error 1
make[1]: *** [config/mk/global/actions/compile_yambo.mk:40: yambo] Error 2
make: *** [Makefile:54: all] Error 1
I am sharing the files config/setup, config/report and log folder (with tag FPP="cpp -P") in the attachment if it helps you.

Thank you!

Best Regards
Md Jahid Hasan
PhD student, Mechanical Engineering
University of Maine
You do not have the required permissions to view the files attached to this post.

User avatar
Nicola Spallanzani
Posts: 93
Joined: Thu Nov 21, 2019 10:15 am

Re: internal library (iotk) compilation problem (make all failed)

Post by Nicola Spallanzani » Wed Mar 26, 2025 8:47 am

Dear Hasan,
sorry, my fault. The right configure line is this one:

Code: Select all

make distclean
./configure --enable-open-mp CC=gcc FC=gfortran F77=gfortran MPICC=mpicc MPIFC=mpif90 MPIF77=mpif90 
The problem was that the configure was not able to identify the "kind" of the fortran compiler, in this case gfortran.
After the right recognition of the fortran compiler, the yambo configure will automatically set the variable FPP="gfortran -E -P -cpp". If not, you can define if manually.

Best regards,
Nicola
Nicola Spallanzani, PhD
S3 Centre, Istituto Nanoscienze CNR and MaX Center, Italy
MaX - Materials design at the Exascale
http://www.nano.cnr.it
http://www.max-centre.eu

muhammadhasan
Posts: 45
Joined: Tue Aug 27, 2024 4:42 am

Re: internal library (iotk) compilation problem (make all failed)

Post by muhammadhasan » Wed Mar 26, 2025 7:35 pm

Hi Dr. Nicola,

Thank you so much. it works and successfully installed on the HPC.

Thank you!

Best Regards
Md Jahid Hasan
PhD student, Mechanical Engineering
University of Maine

Post Reply