[QE-users] Error compiling qe5.1 linked to libbeef-v0.1.1, “Nonexistent include directory .. [-Wmissing-include-dirs]”

Delgado DelgadoJorge delgadodelgado.jorge at aist.go.jp
Wed Dec 25 10:29:07 CET 2019


Dear all,



I’m having some issues when trying to compile qe5.1 (patched for BEEF-vdW) with libbeef library (v.0.1.1). Although both, qe and libbeef are quite old versions, that pair was implemented in a recent paper I’m trying to reproduce.



The environment I’m working on is the following:

OS: Ubuntu v.18.04.1
Compiller: gcc, GNU Fortran (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0



The whole installation procedure I’ve tested so far is described in:

https://suncat.stanford.edu/facilities/software (some outdated code lines, e.g. svn..); and

https://github.com/vossjo/ase-espresso/wiki



First of all, I installed the libbeef library v 0.1.1 as described in:

https://github.com/vossjo/libbeef

Using the compressed file (v 0.1.1) available in:

https://confluence.slac.stanford.edu/display/SUNCAT/BEEF+Functional+Software

The used code lines for the installation of libbeef are the following:

./configure CC=gcc --prefix='/home/libbeef-0.1.1'

make

make install

Note: the installation instructions of readme file indicate to use “./configure CC=icc --prefix=yourbeefpath”. I used CC=gcc instead of icc.



This step proceeds smoothly with nothing else than a warning message (after “make”) I’ve considered harmless so far (please correct me if I should look into it):

warning: ignoring return value of ‘fgets’, declared with attribute warn_unised_result [-Wunused-result]

But still the installation of libbeef is completed and the corresponding lbeef.a file is created in the lib/ directory.



Next, I tried to compile the patched version of qe5.1 (r11289.pybeef - http://www.slac.stanford.edu/~vossj/espresso.5.1.r11289.pybeef.tgz) linking it against libbeef.

For doing so I initially configured as follows:



./configure BEEF_LIBS="-L/home/libbeef-0.1.1/lib -lbeef"





The configuration show the typical “configure: success” message, however the following lines caught my attention:



The following libraries have been found:

  BLAS_LIBS=/home/espresso.5.1.r11289.pybeef/espresso/BLAS/blas.a

  LAPACK_LIBS=/home/espresso.5.1.r11289.pybeef/espresso/lapack-3.2/lapack.a

  FFT_LIBS=

Please check if this is what you expect.



If any libraries are missing, you may specify a list of directories

to search and retry, as follows:

  ./configure LIBDIRS="list of directories, separated by spaces"



Since libbeef (or lbeef) does not appear together with BLAS_LIBS and LAPACK_LIBS I’m wondering if the configuration didn’t proceed properly. It is noteworthy that when I looked into the config.log file, I found the following lines which are related to lbeef:



beef_libs='-L/home/libbeef/lib -lbeef'

bindir='${exec_prefix}/bin'

blas_libs='/home/espresso.5.1.r11289.pybeef/espresso/BLAS/blas.a'

blas_libs_switch='internal'

blas_line='BLAS_LIBS=/home/espresso.5.1.r11289.pybeef/espresso/BLAS/blas.a'

build='x86_64-unknown-linux-gnu'



After the described configuration, I finally proceeded with the compilation of qe (make pw), however it crashes after showing many warnings and a final error:



test -d bin || mkdir bin

cd install ; make -f extlibs_makefile libiotk

make[1]: Entering directory '/home/espresso.5.1.r11289.pybeef/espresso/install'

if test ! -d ../S3DE; then \

(gzip -dc ../archive/iotk-1.2.beta.tar.gz | (cd ../; tar -xvf -)) ; \

if test -e Makefile_iotk; then \

        (cp Makefile_iotk ../S3DE/iotk/src/Makefile); fi; \

if test -e iotk_config.h; then \

(cp iotk_config.h ../S3DE/iotk/include/iotk_config.h); fi; fi

cd ../S3DE/iotk/src; make lib+util;

make[2]: Entering directory '/home/espresso.5.1.r11289.pybeef/espresso/S3DE/iotk/src'

mpif90 -O3 -g -x f95-cpp-input -D__GFORTRAN -D__STD_F95 -D__FFTW -Duse_beef -D__MPI -D__PARA   -I../include  -c iotk_base.f90

mpif90 -O3 -g -x f95-cpp-input -D__GFORTRAN -D__STD_F95 -D__FFTW -Duse_beef -D__MPI -D__PARA   -I../include  -c iotk_attr_interf.f90

mpif90 -O3 -g -x f95-cpp-input -D__GFORTRAN -D__STD_F95 -D__FFTW -Duse_beef –

…

D__MPI -D__PARA   -I../include  -c iotk_error.f90

mpif90 -O3 -g -x f95-cpp-input -D__GFORTRAN -D__STD_F95 -D__FFTW -Duse_beef -D__MPI -D__PARA   -I../include  -c iotk_files_interf.f90

mpif90 -O3 -g -x f95-cpp-input -D__GFORTRAN -D__STD_F95 -D__FFTW -Duse_beef -D__MPI -D__PARA   -I../include  -c iotk_files.f90

mpif90 -O3 -g -x f95-cpp-input -D__GFORTRAN -D__STD_F95 -D__FFTW -Duse_beef –

…

iotk_dat+REAL4_3.o iotk_dat+REAL4_6.o iotk_error.o iotk_error_interf.o iotk_files.o iotk_files_interf.o iotk_fmt.o iotk_fmt_interf.o iotk_misc.o iotk_misc_interf.o iotk_module.o iotk_scan.o iotk_scan_interf.o iotk_stream.o iotk_stream_interf.o iotk_str.o iotk_str_interf.o iotk_tool.o iotk_tool_interf.o iotk_unit.o iotk_unit_interf.o iotk_unit_list.o iotk_write.o iotk_write_interf.o iotk_xtox.o iotk_xtox_interf.o

ar: `u' modifier ignored since `D' is the default (see `U')

ar: creating libiotk.a

a - iotk_attr+CHARACTER1_0.o

a - iotk_attr+COMPLEX1_0.o

…

mpif90 -O3 -g -x f95-cpp-input -D__GFORTRAN -D__STD_F95 -D__FFTW -Duse_beef -D__MPI -D__PARA   -I../include  -c iotk_print_kinds.f90

make loclib_only

make[3]: Entering directory '/home/espresso.5.1.r11289.pybeef/espresso/S3DE/iotk/src'

make[3]: Nothing to be done for 'loclib_only'.

make[3]: Leaving directory '/home/espresso.5.1.r11289.pybeef/espresso/S3DE/iotk/src'

mpif90 -g -pthread -o iotk_print_kinds.x iotk_print_kinds.o libiotk.a

mpif90 -O3 -g -x f95-cpp-input -D__GFORTRAN -D__STD_F95 -D__FFTW -Duse_beef -D__MPI -D__PARA   -I../include  -c iotk.f90

make loclib_only

make[3]: Entering directory '/home/espresso.5.1.r11289.pybeef/espresso/S3DE/iotk/src'

make[3]: Nothing to be done for 'loclib_only'.

make[3]: Leaving directory '/home/espresso.5.1.r11289.pybeef/espresso/S3DE/iotk/src'

mpif90 -g -pthread -o iotk.x iotk.o libiotk.a

make[2]: Leaving directory '/home/espresso.5.1.r11289.pybeef/espresso/S3DE/iotk/src'

cd ../bin; ln -fs ../S3DE/iotk/tools/iotk .; \

ln -fs ../S3DE/iotk/src/iotk.x .; \

ln -fs ../S3DE/iotk/src/iotk_print_kinds.x .; \

cd ../; ln -fs S3DE/iotk iotk

make[1]: Leaving directory '/home/espresso.5.1.r11289.pybeef/espresso/install'

cd install ; make -f extlibs_makefile libelpa

make[1]: Entering directory '/home/espresso.5.1.r11289.pybeef/espresso/install'

touch fake_libelpa.a

rm fake_libelpa.a

make[1]: Leaving directory '/home/espresso.5.1.r11289.pybeef/espresso/install'

( cd Modules ; make TLDEPS= all || exit 1 )

make[1]: Entering directory '/home/espresso.5.1.r11289.pybeef/espresso/Modules'

( if test -x ../install/update_version ; then \

../install/update_version; \

else if test ! -f version.f90 ; then \

cat version.f90.in > version.f90 ; fi ; fi )

mpif90 -O3 -g -x f95-cpp-input -D__GFORTRAN -D__STD_F95 -D__FFTW -Duse_beef -D__MPI -D__PARA   -I../include -I../iotk/src -I../ELPA/src -I. -c version.f90

f951: Warning: Nonexistent include directory ‘../ELPA/src’ [-Wmissing-include-dirs]

mpif90 -O3 -g -x f95-cpp-input -D__GFORTRAN -D__STD_F95 -D__FFTW -Duse_beef -D__MPI -D__PARA   -I../include -I../iotk/src -I../ELPA/src -I. -c kind.f90

f951: Warning: Nonexistent include directory ‘../ELPA/src’ [-Wmissing-include-dirs]

…

D__MPI -D__PARA   -I../include -I../iotk/src -I../ELPA/src -I. -c xc_vdW_DF.f90

f951: Warning: Nonexistent include directory ‘../ELPA/src’ [-Wmissing-include-dirs]

mpif90 -O3 -g -x f95-cpp-input -D__GFORTRAN -D__STD_F95 -D__FFTW -Duse_beef -D__MPI -D__PARA   -I../include -I../iotk/src -I../ELPA/src -I. -c funct.f90

f951: Warning: Nonexistent include directory ‘../ELPA/src’ [-Wmissing-include-dirs]

funct.f90:554:28:



          READ(dftout(5:), '(i)', IOSTAT=i) beeftype

                            1

Error: Nonnegative width required in format string at (1)

../make.sys:16: recipe for target 'funct.o' failed

make[1]: *** [funct.o] Error 1

make[1]: Leaving directory '/home/espresso.5.1.r11289.pybeef/espresso/Modules'

Makefile:110: recipe for target 'mods' failed

make: *** [mods] Error 1



Although the final error says “Error: Nonnegative width required in format string at (1)”, I’m afraid that the main problem I should tackle firs is the warning, “Nonexistent include directory ‘../ELPA/src’ [-Wmissing-include-dirs]”. I’ve tried to search for similar cases within the qe mail archive, but still don’t figure out how could I solve this compilation issue.



I would appreciate enormously if somebody could point me in the right direction. Sorry for this first long mail, but I wanted to provide any possible relevant information.



Best regards,


-----
Jorge A. Delgado, Ph.D.
Research Scientist - Catalysis and Nanomaterials
National Institute of Advanced Industrial Science and Technology (AIST)
Central 5-2, 1-1-1 Higashi, Tsukuba, Ibaraki, 305-8565, Japan


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quantum-espresso.org/pipermail/users/attachments/20191225/e7e12849/attachment.html>


More information about the users mailing list