Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
28757 Discussions

undefined reference to `for_stop_core_quiet'

chrisewolf
Beginner
2,748 Views

Dear all,

 

I am working on Linux with the 2021.6.0 versions of intel compilers (ifort -v ifort version 2021.6.0). I am trying to compile quantum espresso (open source DFT code). I can compile the code without issues using the intel 2019 compilers but with the newer oneAPI I get the following error:

 

mpiifort -O2 -assume byterecl -g -traceback -nomodule -fpp -allow nofpp_comments -D__DFTI -D__MPI -I/usr/local/qe-7.1-intel21/src//external/devxlib/src -I. -I/usr/local/qe-7.1-intel21/src//include -I/usr/local/intel/oneapi/mkl/latest/include -I../UtilXlib -I../external/devxlib/src -c virtual_v2.f90
mpiifort -o virtual_v2.x virtual_v2.o atom.o atomic_number.o dqvan2.o dylmr2.o gth.o interp_atwfc.o paw_variables.o pseudo_types.o qvan2.o radial_grids.o read_cpmd.o read_fhi.o read_ncpp.o read_ps.o read_upf_new.o read_upf_v1.o read_uspp.o spinor.o sph_ind.o sph_bes.o splinelib.o simpsn.o upf_auxtools.o upf_const.o upf_error.o upf_invmat.o upf_io.o upf_ions.o upf_kinds.o upf_params.o upf_parallel_include.o upf_spinorb.o upf_to_internal.o upf_utils.o uspp.o uspp_data.o uspp_param.o write_upf_new.o xmltools.o ylmr2.o dom.o wxml.o -lmkl_intel_lp64 -lmkl_sequential -lmkl_core
virtual_v2.o: In function `MAIN__':
/usr/local/qe-7.1-intel21/src/upflib/virtual_v2.f90:102: undefined reference to `for_stop_core_quiet'

 

I saw errors related to `for_stop_core_quiet'  but they were all for the Windows platform and a solution was the installation of a certain runtime (I don't think there is a linux equivalent for that). Has anyone else experienced this issue on Linux and knows how to fix it?

 

Thank you in advance for your help!

Chris 

 

PS: my configure line ./configure FC=ifort MPIF90=mpiifort CC=icc and MKLROOT is set to 

echo $MKLROOT /usr/local/intel/oneapi/mkl/latest

 

0 Kudos
1 Solution
Steve_Lionel
Honored Contributor III
2,740 Views

The basic problem is the same as for Windows - you're linking to old compiler support libraries. The correct library is installed, but somehow in your library path you're finding an older one (libifcore.so or .a).

Try a simple:

stop
end

from a normal ifort command line environment (not using mpifort) where you source compilervars.sh (maybe the name of this changed - I don't run Linux anymore.) Does it build? If so, then examine the LD_LIBRARY_PATH in your mpifort environment to see if there are other copies of libifcore being seen first.

View solution in original post

2 Replies
Steve_Lionel
Honored Contributor III
2,741 Views

The basic problem is the same as for Windows - you're linking to old compiler support libraries. The correct library is installed, but somehow in your library path you're finding an older one (libifcore.so or .a).

Try a simple:

stop
end

from a normal ifort command line environment (not using mpifort) where you source compilervars.sh (maybe the name of this changed - I don't run Linux anymore.) Does it build? If so, then examine the LD_LIBRARY_PATH in your mpifort environment to see if there are other copies of libifcore being seen first.

chrisewolf
Beginner
2,728 Views

Thanks Steve, you were absolutely right; somehow the old 2019 libraries were still on LD_LIBRARY_PATH even after sourcing setvars.sh - I must have set them permanently a few years ago and forgot about it.

 

After making sure that the LD LIB points to the correct directory it worked.

 

Thanks for your support, your posts always help a ton!

 

Chris 

0 Kudos
Reply