After updating MKL, sets up old version of MKL instead of new one

After updating MKL, sets up old version of MKL instead of new one


I installed Intel Cluster Studio 2011 (which includes MKL 10.3), and then I updated the C and Fortran XE Compilers with 2011 Update 2 (which includes MKL 10.3 Update 2). sets up the newest compilers correctly:

source ics/2011.0.013/
which icc
which ifort

But it sets up the older version of MKL:

Notice that the newer version of mkl (composerxe-2011.2.137/mkl) appears later in the path, but composerxe-2011.0.084/mkl comes first.
The reason is that calls ics/2011.0.013/cc/bin/
which links to composerxe-2011.0.084/bin/
which links to composerxe-2011.0.084/bin/
which calls composerxe-2011/mkl/bin/
which links to composerxe-2011.2.137/mkl/bin/
and then the newest version of MKL is set up correctly:
export MKLROOT=/global/software/intel12/composerxe-2011.2.137/mkl

But later, when calls ics/2011.0.013/mkl/bin/ which links to composerxe-2011.0.084/mkl/bin/, the environment variables are overwritten with the old MKL version.

It is hard to understand what's going on in this maze of scripts and symlinks. Why is the newest MKL not set up automatically by ?

I noticed this thread:
But the links in ics/ have not been updated to point to the newest versions, even for the compilers (confusingly) :

ls -l ics/2011.0.013/
lrwxrwxrwx 1 root root 46 Feb 3 16:34 cc -> /global/software/intel12/composerxe-2011.0.084
lrwxrwxrwx 1 root root 46 Feb 3 16:34 fc -> /global/software/intel12/composerxe-2011.0.084
lrwxrwxrwx 1 root root 46 Feb 3 16:34 idb -> /global/software/intel12/composerxe-2011.0.084
lrwxrwxrwx 1 root root 34 Feb 3 16:34 imb -> /global/software/intel12/imb/3.2.2
lrwxrwxrwx 1 root root 39 Feb 3 16:34 impi -> /global/software/intel12/impi/
lrwxrwxrwx 1 root root 39 Feb 3 16:34 itac -> /global/software/intel12/itac/
lrwxrwxrwx 1 root root 50 Feb 3 16:34 mkl -> /global/software/intel12/composerxe-2011.0.084/mkl
lrwxrwxrwx 1 root root 39 Feb 3 16:34 mpi -> /global/software/intel12/impi/


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

I did the installation as 'sudo ./' so all the files in the installation should be owned by root. However, I noticed there are 2 files in the installation directory that are owned by my uid!


Are these the scripts that update the symlinks when updates are installed? If they were created using my uid, perhaps they were also executed using my uid, and they wouldn't have permission to update the links? Is that a bug in the installer?


Leave a Comment

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