Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.

relocation truncated to fit

hamidmosadegh
Beginner
311 Views
I complie my program as follow:
ifort -shared-intel -mcmodel large 54e.f90 -o t.out -L$MKLPATH -I$MKLINCLUDE -I$MKLINCLUDE/ -lmkl_lapack95_ilp64 -Wl,--start-group $MKLPATH/libmkl_intel_ilp64.a $MKLPATH/libmkl_intel_thread.a $MKLPATH/libmkl_core.a -Wl,--end-group -lguide -lpthread
but I see a error massege
fortcom: Error: 54e.f90, line 55: There is no matching specific subroutine for this generic subroutine call. [POTRF]
call potrf(nm,'U',info )
-----^
fortcom: Error: 54e.f90, line 56: There is no matching specific subroutine for this generic subroutine call. [SYGST]
CALL sygst(hm, nm ,1 ,'U',info)
-----^
fortcom: Error: 54e.f90, line 57: There is no matching specific subroutine for this generic subroutine call. [SYEVD]
call syevd(hm, w ,'V','U',info)
-----^
compilation aborted for 54e.f90 (code 1)

If replace ilp64 by lp64, the following error is shown:
/opt/intel/Compiler/11.1/046/mkl/lib/em64t/libmkl_lapack95_ilp64.a(dpotrf.o): In function `dpotrf_f95_':
../../../../interfaces/lapack95/source/dpotrf.f90:(.text+0x4c): relocation truncated to fit: R_X86_64_PC32 against `.bss'
/opt/intel/Compiler/11.1/046/mkl/lib/em64t/libmkl_lapack95_ilp64.a(dsyevd.o): In function `dsyevd_f95_':
../../../../interfaces/lapack95/source/dsyevd.f90:(.text+0x57): relocation truncated to fit: R_X86_64_PC32 against `.bss'
../../../../interfaces/lapack95/source/dsyevd.f90:(.text+0x85): relocation truncated to fit: R_X86_64_PC32 against `.bss'
../../../../interfaces/lapack95/source/dsyevd.f90:(.text+0x2a5): relocation truncated to fit: R_X86_64_32S against `.bss'
../../../../interfaces/lapack95/source/dsyevd.f90:(.text+0x2ae): relocation truncated to fit: R_X86_64_32S against `.bss'
../../../../interfaces/lapack95/source/dsyevd.f90:(.text+0x606): relocation truncated to fit: R_X86_64_PC32 against `.bss'
../../../../interfaces/lapack95/source/dsyevd.f90:(.text+0x60f): relocation truncated to fit: R_X86_64_PC32 against `.bss'
../../../../interfaces/lapack95/source/dsyevd.f90:(.text+0x62e): relocation truncated to fit: R_X86_64_PC32 against `.bss'
../../../../interfaces/lapack95/source/dsyevd.f90:(.text+0x63b): relocation truncated to fit: R_X86_64_PC32 against `.bss'
../../../../interfaces/lapack95/source/dsyevd.f90:(.text+0x642): relocation truncated to fit: R_X86_64_PC32 against `.bss'
../../../../interfaces/lapack95/source/dsyevd.f90:(.text+0x64c): additional relocation overflows omitted from the output

would you please guide me!
Thanks
0 Kudos
1 Reply
TimP
Black Belt
311 Views
You must match lp64 (32-bit integers) or ilp64 (64-bit integers) to your source code.
You would want to look into the lapack95 source to see whether your lapack calls are supported, or whether they may require lapack f77 calls.
Why are you attempting to use libguide in a context where only libiomp5 may be supported?
I'd be concerned about whether MKL supports -mcmodel=large, but I'll defer to experts on that.
Reply