[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
Fri Dec 27 09:46:29 CET 2019


Dear Paolo,



Thank you very much for the quick reply. After reading your comments and considering that some of the contributors of the mailing list succeeded in the compilation of qe5.1 using gcc 4.8.5, I tried to test additional compilations using this compiler (gcc 4.8.5). Although the make pw lasted longer than when using the default gcc 7.4.0, the compilation is interrupted and a different error appeared this time:



ranlib libpw.a

mpif90 -g -pthread -o pw.x \

   pwscf.o  libpw.a ../../Modules/libqemod.a ../../flib/ptools.a ../../flib/flib.a ../../clib/clib.a ../../iotk/src/libiotk.a  /home/jorge/20191226-qe51-compilations/26/espresso.5.1.r11289.pybeef/espresso/lapack-3.2/lapack.a  /home/jorge/20191226-qe51-compilations/26/espresso.5.1.r11289.pybeef/espresso/BLAS/blas.a    -L/home/jorge/20191226-qe51-compilations/26/libbeef/lib -lbeef

/usr/bin/ld: ../../clib/clib.a(c_mkdir.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a PIE object; recompile with -fPIC

/usr/bin/ld: ../../clib/clib.a(copy.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC

/usr/bin/ld: ../../clib/clib.a(cptimer.o): relocation R_X86_64_32 against `.bss' can not be used when making a PIE object; recompile with -fPIC

/usr/bin/ld: ../../clib/clib.a(eval_infix.o): relocation R_X86_64_32S against undefined symbol `stack_op' can not be used when making a PIE object; recompile with -fPIC

/usr/bin/ld: ../../clib/clib.a(fft_stick.o): relocation R_X86_64_32S against `.text' can not be used when making a PIE object; recompile with -fPIC

/usr/bin/ld: ../../clib/clib.a(md5_from_file.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a PIE object; recompile with -fPIC

/usr/bin/ld: ../../clib/clib.a(md5.o): relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile with -fPIC

/usr/bin/ld: final link failed: Nonrepresentable section on output

collect2: error: ld returned 1 exit status

Makefile:256: recipe for target 'pw.x' failed

make[2]: *** [pw.x] Error 1

make[2]: Leaving directory '/home/jorge/20191226-qe51-compilations/26/espresso.5.1.r11289.pybeef/espresso/PW/src'

Makefile:9: recipe for target 'pw' failed

make[1]: *** [pw] Error 1

make[1]: Leaving directory '/home/jorge/20191226-qe51-compilations/26/espresso.5.1.r11289.pybeef/espresso/PW'

Makefile:47: recipe for target 'pw' failed





Both, the lbeef and the qe were compiled using gcc-4.8. The code lines used are described below:



Installation of lbeef library:

./configure CC=gcc-4.8 --prefix=/home/jorge/20191226-qe51-compilations/26/libbeef

make

make install



Compilation of qe:

./configure CC_gcc=4.8 BEEF_LIBS="-L/home/jorge/20191226-qe51-compilations/26/libbeef/lib -lbeef"

make pw



So the error this time is basically related to: “/usr/bin/ld: ../../clib/clib.a(c_mkdir.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a PIE object; recompile with -fPIC”.

I wonder if this is still related to the compiler used. If so, should I try icc compilers instead?

I have to mentioned that I also installed separately gfortran-4.8 (v 4.8.5), and did the same as described for gcc-4.8 (installed lbeef and tried to compile qe), but the error was exactly the same.



Let me recall the specification of the environment I’m working on:

OS: Ubuntu v.18.04.1 (64bit Virtual machine guest on Windows 10 host – VirtualBox6.0)

Processor: Intel® Core™ i7-8550U CPU @ 1.80GHz × 4

Graphics: SVGA3D; build: RELEASE; LLVM;
Compiller: gcc, GNU Fortran (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0 (also installed separately gcc-4.8.5 and gfortran-4.8.5)



Last time I forgot to mentioned that I’m trying to do the installation on a ubuntu virtual machine. Before of attempting the specific compilation I’m describing here (qe5.1-patched/lbeef), I managed to compile normal qe5.1 or qe6.4 source codes in the standard manner (./configure; make pw), without any issue. The problems appeared at the moment of using the pair qe5.1-patched/lbeef, with the particularities that demand this installation. To double check that the issue was not related to my ubuntu virtual machine, I tested the described above using the Quantum Mobile 19.09.0 (Ubuntu 18.04.3 LTS) , but the obtained errors were exactly the same. If for some reason the use of a ubuntu as a virtual machine is not suitable for this compilation, please let me know.



I would appreciate further guidance with this issue.



Regards


Jorge



-----
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

<mailto:ayada at sbchem.kyoto-u.ac.jp>

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


More information about the users mailing list