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

MKL 9.1 Linking a shared lib that uses mkl_solver.a on LINUX em64t

AndrewC
New Contributor III
1,228 Views
I think something slipped through the QA cracks.
I cannot link my shared library with the mkl solver lib on Linux em64t. This used to work fine under MKL 9.0.
libmkl_solver.a is a static library, but that should not prevent it being linked as part of a shared library. Looks like someone forgot to compile it fPIC.


ld: /opt/intel/mkl/9.1/lib/em64t/libmkl_solver.a(util.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
/opt/intel/mkl/9.1/lib/em64t/libmkl_solver.a: could not read symbols: Bad value
0 Kudos
8 Replies
Intel_C_Intel
Employee
1,228 Views

This sounds like an error and should be submitted to your Premier account at http://premier.intel.com. If you do that this issue will get logged into the system, get thoroughly checked out, and tracked. I would appreciate your submitting this to start the evaluation and repair, if appropriate, process.

Thanks,

Bruce

0 Kudos
AndrewC
New Contributor III
1,228 Views
I have submitted a problem report
0 Kudos
Intel_C_Intel
Employee
1,228 Views

Thanks. I think is the best way for this issue.

Bruce

0 Kudos
Tony_Garratt
Beginner
1,228 Views

We are also seeing a very similar problem on linux 64bit but we are using MKL 10.0.012 - which presumably means this bug has still not been fixed?

Thank you!

Tony

ld: ../lib/libguide.a(kmp_csupport.o): relocation R_X86_64_32 can not be used when making a shared object; recompile with -fPIC

../lib/libguide.a: could not read symbols: Bad value

make: *** [../bin/libCK.so] Error 1

0 Kudos
AndrewC
New Contributor III
1,228 Views
The bug I saw was definitely fixed. You probably need to link to the shared library version of libguide.
0 Kudos
Tony_Garratt
Beginner
1,228 Views

Thank you for the quick reply. We want to use static libraries to avoid having to ship re-distributables. Is there a way around this that doesnt involve shared libraries please?

Thank you

Tony

0 Kudos
AndrewC
New Contributor III
1,228 Views
The only work around I can think of if you absolutely do not want to ship libguide.so would be to ask Intel nicely to compile libguide.a with -fPIC. It does seem like an oversight on their part.
0 Kudos
Todd_R_Intel
Employee
1,228 Views
To address this bug the threading libraries were built with -fPIC in Update 3 which was made available in April.
-Todd
0 Kudos
Reply