wrong ELF class

wrong ELF class


I installed the Intel Math Kernel Library 9.0 for Linux on my "AMD Turion 64" and then compiled the f95 wrappers for LAPACK in mkl/9.0/interfaces/lapack95 with "make PLAT=lnx32e lib".

I can compile and link my files fine with:

$(MKL_LIB_LAPACK95)/libmkl_lapack95.a -L$(MKL_LIB_ROOT)/ -lmkl_lapack -lmkl_em64t -lguide -lpthread

and the .bashrc file includes:

export MKL_LIB_ROOT=/opt/intel/mkl/9.0/lib/em64t

export MKL_LIB_LAPACK95=/opt/intel/mkl/9.0/interfaces/lapack95

but when I execute, it says:

: error while loading shared libraries: libguide.so: wrong ELF class: ELFCLASS32

What is wrong? Thanks for help!


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

I believe you must make sure when you execute that LD_LIBRARY_PATH is set to point to the same library directory where libguide.so was found when you linked. I am hedging bets a little because you didn't say which compiler you used, but it looks as if you linked against the libguide in your MKL installation.
If you use an Intel compiler which is no older than your MKL version, it is preferable to make sure that the libguide in use at both link and run time is the one supplied with the compiler. The Intel compiler option -openmp would take care of both -lguide and -lpthread.
If you want to avoid the requirement for LD_LIBRARY_PATH at run time, you could use the option to make all Intel compiler libraries static (-i-static for 9.1 compilers).


I haven't tried doing what you did, but I think the clues are in your posting. You have PLAT=lnx32e. I think you have a mixture of 32-bit and 64-bit code which is not compatible.



I have gone back to look at this again. You need to set PLAT=lnx64. There should then be compatibilites with the objects for the 64-bit OS.


Thank you very much!

I just forgot to set the LD_LIBRARY_PATH ! That's it!

(It's not PLAT=lnx64)

Ciao, Joe

How did you get it to link without the libpath set?


Leave a Comment

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