About static linking Intel MKL libraries

About static linking Intel MKL libraries

At me it is installed Red Hat 6.0 (x86-64). I do static linking.

For example (actually at me thousand functions):

ifort myprog.f -L$MKLPATH -I$MKLINCLUDE
-Wl,--start-group $MKLPATH/libmkl_intel_ilp64.a $MKLPATH/libmkl_intel_thread.a
$MKLPATH/libmkl_core.a -Wl,--end-group -liomp5 -lpthread

I receive an error: It is not found -lpthread.

If not to use -lpthread translation comes to an end successfully.

7 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.


You know some OSes has no static libpthread library.
So, please use additional option -Bdynamic before -lpthread

-- Victor


My program is compiled approximately 2 hours. All is good.
I use mine MKL (I work with the packed matrixes and my algorithms much faster, than in Intel MKL, but some functions I take from Intel MKL. As a whole this software package very good).


I guess it is recommended to use dynamic linking instead of static linking because of the performance issues. After all, you will have smaller code with probably better performance if you use dynamic linking.

Good luck,


At first, speed of the account is approximately identical.
Secondly, it is necessary for transfer of programs on other computers.

You can't expect an application which uses libpthread to run on another machine which doesn't have a compatible glibc installation, so there's no point in linking it static.

I know it. I pursued absolutely other aims.

Leave a Comment

Please sign in to add a comment. Not a member? Join today