- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
I am having problems using Lapack on a Dell Linux machine (redhat) with a Xeon chip. I installed mkl and try to compile with ifc using;
ifc -pc80 -cm -w -o test test.f -L/opt/intel/mkl721/lib/64 -lmkl_lapack64 -lmkl_def -lguide -lpthread -O3 -r8 -tpp7
and the error message is
/opt/intel/mkl721/lib/64/libmkl_lapack64.so: file not recognized: File format not recognized
There are no complaints at compilation that subroutines/functions can't be found.
If I use lapack32 then the routines I need cannot be found. I've tried various permutations of "32" and "64" in the above and nothing works.
Any suggestions would be greatly appreciated!
David
I am having problems using Lapack on a Dell Linux machine (redhat) with a Xeon chip. I installed mkl and try to compile with ifc using;
ifc -pc80 -cm -w -o test test.f -L/opt/intel/mkl721/lib/64 -lmkl_lapack64 -lmkl_def -lguide -lpthread -O3 -r8 -tpp7
and the error message is
/opt/intel/mkl721/lib/64/libmkl_lapack64.so: file not recognized: File format not recognized
There are no complaints at compilation that subroutines/functions can't be found.
If I use lapack32 then the routines I need cannot be found. I've tried various permutations of "32" and "64" in the above and nothing works.
Any suggestions would be greatly appreciated!
David
Message Edited by davidfarrelly on 06-10-2005 02:20 PM
Message Edited by davidfarrelly on 06-10-2005 02:38 PM
Link Copied
3 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
That's an Itanium library. If you are using a 32-bit compiler, you need those in /lib/32/. If you are running an x86-64 linux, with 64-bit compilers, you need the em64t libraries. You should have 3 directories under mkl721/lib, to cover the 3 varieties. The only use for the /64 directory is where you have an Itanium system where mkl won't install, and you need to copy it over there.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
EDITED: Problem solved using;
ifc -i_dynamic -pc80 -cm -w -o test test.f -L/opt/intel/mkl721/lib/32 -lmkl_lapack -lmkl_ia32 -lguide -lpthread -O3 -r8 -tpp7
Again, thanks for the help!
Pre-edited message below (will leave since might be useful for reference)
*********************************************************************
Tim,
Thanks - I still have some problems;
If I do this:
ifc -i_dynamic -pc80 -cm -w -o test test.f -L/opt/intel/mkl721/lib/32 -lmkl_lapack32 -lmkl_def -lguide -lpthread -O3 -r8 -tpp7
the error message on compilation is:
11057 Lines Compiled
/tmp/ifcwhTfKM.o(.text+0x3bc6): In function `syminv_':
: undefined reference to `dsytrf_'
/tmp/ifcwhTfKM.o(.text+0x3c46): In function `syminv_':
: undefined reference to `dsytri_'
/tmp/ifcwhTfKM.o(.text+0x11794): In function `f02aaf_':
: undefined reference to `dsyevx_'
/tmp/ifcwhTfKM.o(.text+0x11a1a): In function `f02abf_':
: undefined reference to `dsyevx_'
whereas if I use the lapack64 in /32 i.e.,
ifc -i_dynamic -pc80 -cm -w -o test test.f -L/opt/intel/mkl721/lib/32 -lmkl_lapack64 -lmkl_def -lguide -lpthread -O3 -r8 -tpp7
it compiles ok, but when I try to run it I get this;
./bnd_linnh3: error while loading shared libraries: libmkl_lapack64.so: cannot open shared object file: No such file or directory.
I'm migrating from 64 bit DEC alphas so sorry to be so naive about how to do all this!
David
ifc -i_dynamic -pc80 -cm -w -o test test.f -L/opt/intel/mkl721/lib/32 -lmkl_lapack -lmkl_ia32 -lguide -lpthread -O3 -r8 -tpp7
Again, thanks for the help!
Pre-edited message below (will leave since might be useful for reference)
*********************************************************************
Tim,
Thanks - I still have some problems;
If I do this:
ifc -i_dynamic -pc80 -cm -w -o test test.f -L/opt/intel/mkl721/lib/32 -lmkl_lapack32 -lmkl_def -lguide -lpthread -O3 -r8 -tpp7
the error message on compilation is:
11057 Lines Compiled
/tmp/ifcwhTfKM.o(.text+0x3bc6): In function `syminv_':
: undefined reference to `dsytrf_'
/tmp/ifcwhTfKM.o(.text+0x3c46): In function `syminv_':
: undefined reference to `dsytri_'
/tmp/ifcwhTfKM.o(.text+0x11794): In function `f02aaf_':
: undefined reference to `dsyevx_'
/tmp/ifcwhTfKM.o(.text+0x11a1a): In function `f02abf_':
: undefined reference to `dsyevx_'
whereas if I use the lapack64 in /32 i.e.,
ifc -i_dynamic -pc80 -cm -w -o test test.f -L/opt/intel/mkl721/lib/32 -lmkl_lapack64 -lmkl_def -lguide -lpthread -O3 -r8 -tpp7
it compiles ok, but when I try to run it I get this;
./bnd_linnh3: error while loading shared libraries: libmkl_lapack64.so: cannot open shared object file: No such file or directory.
I'm migrating from 64 bit DEC alphas so sorry to be so naive about how to do all this!
David
Message Edited by davidfarrelly on 06-10-2005 04:56 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You're very close now. You need to add the path ofdynamic libraries (libmkl_lapack64.so in this case) to the LD_LIBRARY_PATH environment variable so that the loader can find them at runtime. The following should work:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/mkl721/lib/32
The mklvars32.sh script is provided in the tools/environment directory of MKL. You could just source this script.
-Todd

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page