Where does "intel_cpu_indicator" come from?

Where does "intel_cpu_indicator" come from?

Not sure if this is the right board, sorry...

I get an undefined reference and I can't figure out where it comes from:

gpas: symbol lookup error: gpas: undefined symbol: __intel_cpu_indicator

(I'm running in a batch system here on cluster)

This is about the executable:

lonestar% nm gpas | grep indicator
0842db40 B __intel_cpu_indicator
U __intel_cpu_indicator_init

Doesn't this means that the "init" routine is actually undefined? The "intel_cpu_indicator" is in some other segment which from googling I understand to be mostly about data.

Here's my link line:

mpif90 -L/opt/intel/compiler81/fc/lib ipars.o read1.o read2.o units.o comp.o table.o idata.o extvar.o memman1.o memman2.o divide.o timer.o prtout.o tdata.o stdout.o initial.o iwell.o owell.o prop.o restart.o cputime.o meminfo.o memman3.o ccallc.o xarray.o xtdata.o xisdat.o xiadat.o xstep.o xivdat.o xprop.o xsurface.o xwdata.o xstdout.o xupdate.o xflash.o aqueous.o xeos.o influid0.o eos_1ph.o rowpw.o jmass.o vis.o jaccum.o eos_jaco.o relderiv.o zderiv.o rrderiv.o ift.o mresipw.o roderiv.o eosxi2ni.o xeosbas.o jaco2pw.o jsource.o jprint.o xprint.o xquit.o xsolver.o xwell.o xtimmul.o xtrans.o jacobian.o xsolve.o xdelta.o xaqcomp.o xrelperm.o xtrapn.o xsurf.o fiats.o fiatsol1.o fiatsol2.o jimpsurf.o putil.o manyc.o manyf.o parbuf.o -o gpasv3_6 -L/opt/apps/petsc/petsc_intel_gm-2.1.6/lib/libO/linux_intel -lpetscfortran -lpetscsnes -lpetscsles -lpetscmat -lpetscvec -lpetsc -lpetscdm -L/usr/X11R6/lib -lX11 -L -lmkl_p4 -L/opt/MPI/intel8/mpich-gm/1.2.6..14/lib -lmpich -lpmpich -lpmpich -lm -L/opt/apps/petsc/petsc_intel_gm-2.1.6/lib/libO/linux_intel -lpetscgsolver -lpetscgrid -lpetscmesh -lpetscts -lpetscsnes -lpetscsles -lpetscdm -lpetscmat -lpetscvec -lpetsc -L/usr/X11R6/lib -lX11 -Wl,-rpath,/opt/intel/mkl721/lib/32 -L/opt/intel/mkl721/lib/32 -lmkl_lapack -lmkl_def -lguide -L/opt/MPI/intel8/mpich-gm/1.2.6..14/lib -lmpich -lpmpich -lpmpich

The missing item is definitely not in the mpich or petsc libraries.

Anyone any idea?


3 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

I had the same problem like,

undefined symbol: __intel_cpu_indicator

when I used MKL 8.0.
But, the problem was fixed when I employed MKL 8.1.


The problem typically is caused by linking against an out of date set of shared libraries, such as those which come with MKL 7.2, and then attempting to run against a newer shared libraries, such as those which come with a recent Intel compiler release. MKL 8.0 had several library foul-ups, so I would agree with the other poster's advice about MKL 8.1. I hope you are using one of the latest updates, if you are still using Intel 8.1 compilers. If so, you should not set a -L path to the MKL library installation, but instead link the specific .a or .so files you want from MKL libraries, so that the linker finds the required libraries in your compiler library installation.

intel_cpu_indicator() is likely to be found in libguide.so in an out of date MKL installation, but in libirc in the compiler installation.

Leave a Comment

Please sign in to add a comment. Not a member? Join today