i use icc to compile and got error
part of my Makefile:
C_PLATFORM=-mmic -openmp -pthread -static -openmp-link=static
GPP=/opt/intel/bin/icpc
when i run make, got error:
x86_64-k1om-linux-ld: cannot find -liomp5
then, i copy libiomp5.a to /usr/linux-k1om-4.7/x86_64-k1om-linux/lib64
then make, and got error:
x86_64-k1om-linux-ld: skipping incompatible /usr/linux-k1om-4.7/linux-k1om/../x86_64-k1om-linux/lib64/libiomp5.a when searching for -liomp5
x86_64-k1om-linux-ld: skipping incompatible /usr/linux-k1om-4.7/x86_64-k1om-linux/lib64/libiomp5.a when searching for -liomp5
x86_64-k1om-linux-ld: cannot find -liomp5
--------------------------------------------
so, how to build openmp (static)? how to fix the error above?
*******************
Tim PrinceWed, 07/23/2014 - 09:24
There's no support for static OpenMP link with -mmic, so you would simply remove the -openmp-link option and copy or mount mic/libiomp5.so over to the coprocessor, adding its path to LD_LIBRARY_PATH if you don't put it in with the preset library shared objects.
I don't know whether the open source OpenMP library (openmprtl.org) offers a static library build, but this would be unsupported. The library has to be built specifically for MIC native execution; k1om-linux-ld checks for compatibility, as you saw.
You might do better to start a separate thread with a descriptive title.
**************************
thanks to tell me that "There's no support for static OpenMP link with -mmic"
but i want to transplant this program to mic native .
so i must use -mmic
when i didn't use omp, the libs is complex, if i don't use static, there are lib dependence errors on mic.
dependence is complex, can't just put the libs on mic.
so i need to compile the program with -static and -mmic
here said omp support static link, with libiomp5.a
i'm comfused...:( any help?