MKL linking (LAPACK, LBLAS)/error message

MKL linking (LAPACK, LBLAS)/error message

Bild des Benutzers Deleted user

Hi,

I'm trying to run some files that I wrote using f77. The Script I've written creates the executable file without error messages but once I try to run it, the following error message is displayed (for the most part I'm just trying to link MKL lapack and lblas libraries):

*************************************************************

trrj: error while loading shared libraries: libguide.so: cannot open shared object file: No such file or directory

**************************************************************

Script is:

#! /bin/csh
source /opt/intel_fc_80/bin/ifortvars.csh

ifort -c get_MatrRec.f get_eigenv1211.f get_KLh12.f get_K_z.f

get_f.f get_Evector.f get_Jcurrent.f get_Rec.f

get_Sortvalue.f

ifort -c MAIN.f

ifort -o trrj MAIN.o get_MatrRec.o get_eigenv1211.o get_KLh12.o

get_K_z.o get_f.o get_Evector.o get_Jcurrent.o

get_Rec.o get_Sortvalue.o

-L /opt/intel/mkl70/lib/32 -lmkl_lapack -lmkl_ia32

-lguide -lpthread


What should I do to fix this problem?

Thank you,

6 Beiträge / 0 neu
Letzter Beitrag
Nähere Informationen zur Compiler-Optimierung finden Sie in unserem Optimierungshinweis.
Bild des Benutzers TODD R. (Intel)

Try sourcing the mklvars32.sh file found in /tools/environment/ directory. I notice from your script that while you are linking the MKL libraries statically you have included "-lguide" which by defaultlinks in the included shared library. Since your app is not threaded using openmp with the compiler the compiler does not link in (I think) it's own copy of libguide.so.

Or, you could also try linking statically for all libraries using the--static option.

Todd

Bild des Benutzers Tim Prince

As far as I know, the option -openmp would have the same effect as -lguide -lpthread, and it makes no difference that OpenMP is confined to the MKL rather than invoked in the Fortran code. There should be a copy of libguide.so in the compiler /lib installation, as well as one in MKL /lib. Either one should do the job, as long as LD_LIBRARY_PATH is set by either the ifortvars.csh or mklvars.csh or both scripts.

Bild des Benutzers Deleted user

Thank you for your answer. Adding as you mentioned the -static option to the last ifort creates the executable that runs. However the answer/results are no the expected ones.

How compatible are f77 commands and ifort 8.1 commands ?, the major change I did was to create the MAIN file which is not needed in f77, which other changes should I do?

Is it better to use the make utility?, If so which are really the steps to use it. I've tried to follow the instructions in ug1(user guide vol I) and at hp.com, which as I understand is to write:

setenv PATH/usr/bin:

I write the full path to intel compiler, which I understand is: /opt/intel_fc_80/bin/ but
once I try to run the make utility using my script:

make -f f90jemakefile

it shows the following error message:

******************************************************************

f90jemakefile:2: *** missing separator. Stop.

*****************************************************************

Thank you once again.

Bild des Benutzers Deleted user

Thank you for your answer. To the mentioned script I add to each of the ifort lines the option -f77rtl but the results received are too differents to the ones I received with f77. The institution were I'm at plans to buy the ifort compiler and MKL for Linux but I would like to know what may be causing the problem I mentioned.

What could it be the problem?

Thanks in advance,

Bild des Benutzers Deleted user

Thank you for your answer. To the mentioned script I add to each of the ifort lines the option -f77rtl but the results received are too differents to the ones I received with f77, which are the expected ones. I'm working with a pentium II computer.

What could it be the problem?

Thanks in advance,

Melden Sie sich an, um einen Kommentar zu hinterlassen.