- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I compile my program as the follwoing to staticly link MKL I get the follwoing error .
I am using composer_xe_2013 , and icc .
bash-4.1$ icc -mmic -openmp -no-vec s_mkl_double_one_dim_reorder_err.c -Wl,--start-group libmkl_intel_lp64.a libmkl_intel_thread.a libmkl_core.a libiomp5.so -Wl,--end-group -o s_mkl_static.mic
The Error that I have from compiling it :
x86_64-k1om-linux-ld: i386:x86-64 architecture of input file `libmkl_intel_lp64.a(cblas_dgemm_lp64.o)' is incompatible with k1om output
x86_64-k1om-linux-ld: i386:x86-64 architecture of input file `libmkl_intel_lp64.a(_dgemm_lp64.o)' is incompatible with k1om output
x86_64-k1om-linux-ld: i386:x86-64 architecture of input file `libmkl_intel_lp64.a(cblas_xerbla_lp64.o)' is incompatible with k1om output
x86_64-k1om-linux-ld: i386:x86-64 architecture of input file `libmkl_intel_lp64.a(cblas_auxi_lp64.o)' is incompatible with k1om output
x86_64-k1om-linux-ld: i386:x86-64 architecture of input file `libmkl_intel_lp64.a(errchk_dgemm.o)' is incompatible with k1om output
x86_64-k1om-linux-ld: i386:x86-64 architecture of input file `libmkl_intel_lp64.a(_cdecl_xerbla.o)' is incompatible with k1om output
x86_64-k1om-linux-ld: i386:x86-64 architecture of input file `libmkl_intel_lp64.a(_xerbla_l.o)' is incompatible with k1om output
x86_64-k1om-linux-ld: i386:x86-64 architecture of input file `libmkl_intel_lp64.a(_xerbla_l_.o)' is incompatible with k1om output
x86_64-k1om-linux-ld: i386:x86-64 architecture of input file `libmkl_intel_lp64.a(_xerbla_u_.o)' is incompatible with k1om output
x86_64-k1om-linux-ld: i386:x86-64 architecture of input file `libmkl_intel_lp64.a(_xerbla.o)' is incompatible with k1om output
x86_64-k1om-linux-ld: BFD (GNU Binutils) 2.22.52.20120302 internal error, aborting at ../../../binutils/bfd/elf64-x86-64.c line 3382 in elf_x86_64_relocate_section
x86_64-k1om-linux-ld: Please report this bug.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
According to the messages, you are trying to link libraries from mkl/lib/intel64/ where you need those from mkl/lib/mic/. According to the link advisor http://software.intel.com/en-us/articles/intel-mkl-link-line-advisor you must give the full path of each .a file.
libiomp5.so wouldn't normally be place inside the start-group ... end-group specifiers, and would normally be specified as -liomp5, but that may not be a problem.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Allam,
It looks all of the mkl and openmp library are for X86-64 (intel64), not for mic, which invoke the incompatible report. You may try add the mic path explicitly for example,
-Wl,--start-group /opt/intel/composer_xe_2013_sp1/mkl/lib/mic/libmkl_intel_lp64.a /opt/intel/composer_xe_2013_sp1/mkl/lib/mic/libmkl_intel_thread.a /opt/intel/composer_xe_2013_sp1/mkl/lib/mic/libmkl_core.a /opt/intel/composer_xe_2013_sp1/lib/mic/libiomp5.so
and see if it works?
Some related link:
MKL user guide: http://software.intel.com/sites/products/documentation/doclib/mkl_sa/11/mkl_userguide_lnx/GUID-D0627E59-8D1C-4935-8DF4-BA14AB65B09B.htm
MKL link advisor: http://software.intel.com/sites/products/mkl/MKL_Link_Line_Advisor.html
Best Regards
Ying
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page