Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Announcements
FPGA community forums and blogs have moved to the Altera Community. Existing Intel Community members can sign in with their current credentials.
29329 Discussions

undefined reference to `for_stop_core_quiet'

chrisewolf
Beginner
3,844 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
3,836 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
3,837 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
3,824 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