MKL7.2.1 32 bit example and test files' runs.

MKL7.2.1 32 bit example and test files' runs.

Hi,
I am currently trying to run example and test files in mkl 7.2.1 product. Even though I was successful running them in 64 bit with Intel 8.0 compilers. I was unsuccessful with them even though I modified the makefile for each test and example for both GNU and Intel Compilers.

The error I am getting is shown below( I also attached the makefile that I modified);

gcc -w -D_LINUX -I/opt/intel/mkl721/include source/complex_1d_single_ex1.c source/dfti_example_support.c source/dfti_example_status_print.c -L/opt/intel/mkl721/lib/32 -lmkl -lguide -lpthread -lm -o _results/so32_gnu/complex_1d_single_ex1.exe
/usr/bin/ld: skipping incompatible /opt/intel/mkl721/lib/32/libmkl.so when searching for -lmkl
/usr/bin/ld: cannot find -lmkl
collect2: ld returned 1 exit status
make[1]: *** [complex_1d_single_ex1.res] Error 1
make[1]: Leaving directory `/work1/tpirim/examples/dftc'
make: *** [so32] Error 2

5 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.
Community Admin's picture

Here is what I think is going on. You don't say what processor you are running on but your note suggests it is EM64T. Since I recently ran into this myself, I think I can answer this.

The comment from the linker isn't very helpful, but you get essentially the same message from the Intel compiler.

I think you are compiling a 64-bit program and trying to link a 32-bit library to it. When the linker figures that out it gives you the incompatible message.

If my assumptions are wrong, please come back and indicate more about the system and environment you are working on and in.

Bruce

I did runthe testssuccessfully in 64-bit, however, the error I am receiving is when I try to run the test files in 32-bit.
Taner

I have an ALTIX 3000 series, 64 bit Itanium2 processors.
Taner

Community Admin's picture

I need to make sure I understand exactly what you are trying to do. If I understand correctly you are building your program for the Itanium processor with the Gnu compiler. You are trying to build the examples using the 32-bit versions of the library. The 32-bit version, or course, is for the X86 (Pentium 4 and Xeon processors) architecture and not for the Itanium processor.

The linker is detecting this and telling you there is an incompatibility between the driver you have compiled and the software you are trying to link in.

What are you trying to accomplish?

I may have missed something here, but I think my response is correct. Let my know.

Bruce

Login to leave a comment.