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

Parallel Studio XE/MKL Installation on Linux Mint 15

wronk
Beginner
1,760 Views

Hi,

I'm trying installing the MKL package as part of the parallel studio xe suite or by itself. When trying both routes, the installer says that I'm missing a number of optional prerequisites because the OS is incompatible:

Missing optional prerequisites
-- Intel(R) VTune(TM) Amplifier XE 2013 Update 13: Unsupported OS
-- Intel(R) Inspector XE 2013 Update 8: Unsupported OS
-- Intel(R) Advisor XE 2013 Update 5: Unsupported OS
-- Intel(R) Fortran Composer XE 2013 SP1 Update 1 for Linux*: Unsupported OS
-- Intel(R) C++ Composer XE 2013 SP1 Update 1 for Linux*: Unsupported OS

If I just install anyway, then the compilers I need for the MKL libraries (icc/ifort) don't install.

Mint 15 is built on linux 13.04, so it should be compatible. Is there a way to avoid this/temporarily trick the installer into thinking my system is Ubuntu 13.04?

Thanks,
Mark

0 Kudos
12 Replies
Gennady_F_Intel
Moderator
1,760 Views

here is from official Intel MKL 11.1 System Requirements:

  • Ubuntu* 9 (for Intel MKL 10.3 - Intel MKL 10.3 update 3), 10.04, 11.04 (for Intel MKL 10.3 update 4 and later) (IA-32 / Intel® 64)

so I am not sure if there are some workaround for that right now, but I will ask to look at the problem experts from Install Team and may be He will give us some workarounds.

0 Kudos
wronk
Beginner
1,760 Views

The MKL libraries definitely work for versions beyond Ubuntu 11.04. I have a coworker who has them running seamlessly on Ubuntu 13.04. Also, here's the prerequisite error I get when running the installer indicating that it is supported at least up to 13.04:

Detected operating system is not supported. Supported operating systems for this
release are: 
    - Ubuntu* 10.04, 11.10, 12.04, 12.10, 13.04;
    - SuSE SLES* 10, 11;
    - Red Hat Enterprise Linux* 5, 6, 7;
    - Fedora* 17, 18, 19;
    - Debian* 5.0, 6.0, 7.0;
    - CentOS* 5, 6;

 

0 Kudos
Nikolay_L_Intel
Employee
1,760 Views

Hi Mark.

Unsupported OS pre-requisite is an optional one. So you can skip it and continue the installation.

Compilers also should be installed together with MKL. Could you go to the install directory and check if <installdir>/bin/<arch>/icc and ifort binaries are available? If it is in place, please command "source <installdir>/bin/compilervars.sh <arch>" to setup environment variables and try to call icc or ifort again.

If it does not help, could you send me a log file from /tmp/intel.pset.<userid>.***.log?

Thanks, - Nikolay

0 Kudos
wronk
Beginner
1,760 Views

Hi Nikolay,

I do see the icc and ifort executables in (...)/intel/composer_xe_2013_sp1.1.106/bin/intel64

Here's the command I used to run the environment variable scripts:
(...)/intel/composer_xe_2013_sp1.1.106/bin $ source compilervars.sh intel64

The icc and ifort executables are still not found unless I call them in their folder though. It seems like the environment variables aren't being setup correctly. What should the environment variables looks like?

0 Kudos
Nikolay_L_Intel
Employee
1,760 Views

Hi Mark,

Please find attached the script with the list of env variables for #106 package for the example. I've used the installdir=/opt/intel and the architecture=intel64. Please change according to your local setup.

Please let me know if you have questions.

 - Nikolay

0 Kudos
Nikolay_L_Intel
Employee
1,760 Views

attached

0 Kudos
wronk
Beginner
1,760 Views

Thanks Nikolay! The icc and ifort compilers show up now, and I was able to successfully build numpy and scipy. The numpy nose tests passed fine. I get a few errors in the scipy nose tests, but I suspect it doesn't have anything to do with MKL.

Anyone else having issues with mint not being able to find, just edit the path variables to match your MKL folders, and make sure the script gets called before you try to build or import your python libraries using MKL. I just added "source prepareMKL.sh" to my .bashrc so that it gets called automatically on startup.

0 Kudos
Andreas_D_1
Beginner
1,760 Views

I have the same problem with Linux Mint 17.2 (based on Ubuntu 14.04 I think) and those products

parallel_studio_xe_2016.0.047
parallel_studio_xe_2016_composer_edition_for_cpp
parallel_studio_ex_2016_composer_edition_for_fortran

After tweaking some environment variables in my .bashrc

# Eclipse
export ECLIPSE_HOME=/opt/eclipse/cpp-mars/eclipse/
export GXX_ROOT=/usr/lib/gcc/x86_64-linux-gnu/4.8/
export LC_ALL=C
# Intel compiler variables:
# ande 20151013
CPATH=/opt/intel/compilers_and_libraries_2016.0.109/mkl/include:/opt/intel/compilers_and_libraries_2016.0.109/tbb/include
INCLUDE=/opt/intel/compilers_and_libraries_2016.0.109/mkl/include
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/compilers_and_libraries_2016.0.109/compiler/lib/intel64:/opt/intel/compilers_and_libraries_2016.0.109/mkl/lib/intel64:/opt/intel/compilers_and_libraries_2016.0.109/tbb/lib/intel64/gcc4.4
LIBRARY_PATH=/opt/intel/compilers_and_libraries_2016.0.109/compiler/lib/intel64:/opt/intel/compilers_and_libraries_2016.0.109/mkl/lib/intel64:/opt/intel/compilers_and_libraries_2016.0.109/tbb/lib/intel64/gcc4.4
MANPATH=$MANPATH:/opt/intel/compilers_and_libraries_2016.0.109/man/en_US
MIC_LD_LIBRARY_PATH=/opt/intel/compilers_and_libraries_2016.0.109/mkl/lib/mic:/opt/intel/compilers_and_libraries_2016.0.109/tbb/lib/mic
MIC_LIBRARY_PATH=/opt/intel/compilers_and_libraries_2016.0.109/tbb/lib/mic
MKL_HOME=/opt/intel/compilers_and_libraries_2016.0.109/mkl
NLSPATH=/opt/intel/compilers_and_libraries_2016.0.109/mkl/lib/intel64/locale/%l_%t/%N
NLS_PATH=/opt/intel/compilers_and_libraries_2016.0.109/debugger/intel64/locale/%l_%t/%N:/opt/intel/compilers_and_libraries_2016.0.109/ipp/lib/intel64/locale/%l_%t/%N
PATH=$PATH:/opt/intel/compilers_and_libraries_2016.0.109/linux/bin/intel64
_=parallel_studio_xe_2016.0.047
#_LMFILES_=/usr/share/Modules/modulefiles/intel/ipp/2015.2.164:/usr/share/Modules/modulefiles/intel/mkl/2015.2.164:/usr/share/Modules/modulefiles/intel/tbb/2015.2.164:/usr/share/Modules/modulefiles/intel-parallel-studio-2015

I get icpc to run:

icpc -v
icpc version 16.0.0 (gcc version 3.2.0 compatibility)

but when I try to compile, I get this:

make  -j 1 -f Makefile COMPANY_TARGET_PLATFORM=Boss COMPANY_BUILD_PLATFORM=Boss COMPANY_CONFIG=ReleaseSerial  COMPANY_FFAT_LIMIT=0 COMPANY_LICENSE_SERVER_TYPE=0 all

Processing configuration ReleaseSerial

Setting COMPANY_TARGET_VERSION to default value
COMPANY_TARGET_VERSION := undefined
Setting COMPANY_TARGET_USER to default value
COMPANY_TARGET_USER := Company_Name
COMPANY_TARGET_PLATFORM := Boss
test1
Reading Platform specific settings for configuration ReleaseSerial from ./PlatformMakefileSettings/Makefile_Company_Boss_Boss

mkdir -p ReleaseSerial/AtomisticModelsLib
Building file: AtomisticModelsLib/AtomCoordinationTypeBase.cpp
Invoking: Compiler
icpc -O2 -DCOMPANY_TARGET_VERSION_STRING=\"undefined\" -DCOMPANY_TARGET_USER_STRING=\"Company_Name\" -DCOMPANY_FFAT_LIMIT=0 -DCOMPANY_LICENSE_SERVER_TYPE=0 -gcc-name=gcc34 -gcc-version=346 -I/include -I/usr/lib/gcc/x86_64-linux-gnu/4.8/include -I -I/opt/mtl4-9231/usr/include -MTReleaseSerial/AtomisticModelsLib/AtomCoordinationTypeBase.o -MMD -MP -MF"ReleaseSerial/AtomisticModelsLib/AtomCoordinationTypeBase.d" -MT"ReleaseSerial/AtomisticModelsLib/AtomCoordinationTypeBase.d" -fPIC  -I./HeritageMathLib  -I./MathLib  -I./MTLLib  -I./UtilitiesLib  -I./WrappersLib  -I./BoostLib  -I./HeritageMathLib  -I./HeritageSerializationLib  -I./MathLib  -I./MTLLib  -I./UtilitiesLib -c -o "ReleaseSerial/AtomisticModelsLib/AtomCoordinationTypeBase.o" "AtomisticModelsLib/AtomCoordinationTypeBase.cpp"
icpc: command line remark #10010: option '-gcc-version=346' is deprecated and will be removed in a future release. See '-help deprecated'
icpc: error #10001: could not find directory in which the set of libstdc++ include files resides
make: *** [ReleaseSerial/AtomisticModelsLib/AtomCoordinationTypeBase.o] Error 1

As the environment variable of the 2013 edition seem to be different: where can I get the information which variables to set?

Wouldn't it be helpful to include LinuxMint in the list of supported OSes? It should be almost equally configured as Ubuntu..

 

Thanks in advance -

Andreas

 

0 Kudos
Nikolay_L_Intel
Employee
1,760 Views

Hello Andreas,

Env variables in your .bashrc look correct. You can double check it by sourcing the "compilervars.sh" script from following places:

1) <Install-dir>/intel/bin/compilervars.sh

2) Or <Install-dir>/compilers_and_libraries/linux/bin/compilervars.sh

From the error message it seems like a compiler can't find libstdc++ location. Did you get a warning during the installation that the compiler requires libstdc++ libraries? Please refer to Parallel Studio release notes to get the list of required libraries and make sure it is installer on your system.

Please let me know if you still have a problem after the installation of all required libraries.

Thank you,

 - Nikolay

0 Kudos
Andreas_D_1
Beginner
1,760 Views

Dear Nikolay,

thanks for your reply!

> From the error message it seems like a compiler can't find libstdc++ location.

Yup..

> Did you get a warning during the installation that the compiler requires libstdc++ libraries?

For it is a while ago now I can't remember, sorry but I don't think so..

> Please refer to Parallel Studio release notes to get the list of required libraries and make sure it is installer on your system.

These release notes?

https://software.intel.com/sites/default/files/managed/0b/32/PSXE2016_Release_Notes_en_US_OSX.pdf

I could not find "libstdc" mentioned.. I'm only trying to solve things step by step.

This is what I find inside /usr:

./lib/i386-linux-gnu/libstdc++.so.5
./lib/i386-linux-gnu/libstdc++.so.6
./lib/i386-linux-gnu/libstdc++.so.6.0.19
./lib/i386-linux-gnu/libstdc++.so.5.0.7
./lib/gcc/x86_64-linux-gnu/4.8/libstdc++.so
./lib/gcc/x86_64-linux-gnu/4.8/libstdc++.a
./lib/x86_64-linux-gnu/libstdc++.so.6
./lib/x86_64-linux-gnu/libstdc++.so.6.0.19
./share/gcc-4.8/python/libstdcxx
./share/gdb/auto-load/usr/lib/i386-linux-gnu/libstdc++.so.6.0.19-gdb.py
./share/gdb/auto-load/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19-gdb.py
./share/doc/libstdc++5
./share/doc/libstdc++-4.8-dev
./share/doc/libstdc++6
./share/doc/gcc-4.8-base/test-summaries/libstdc++.sum.xz
./share/doc/gcc-4.8-base/test-summaries/libstdc++.log.xz
./share/doc/gcc-4.8-base/C++/libstdc++_symbols.txt.amd64

 

0 Kudos
Andreas_D_1
Beginner
1,760 Views

Could you answer please?

Why is error number "icpc: error #10001" used for at least two cases: The aforementioned "missing libstdc++" and "could not find directory in which g++ resides" (which I managed to fix)

Honestly, the error number alone looks as if the programmer didn't want to get bothered.

Googling did not help. Nowhere see I "libstdc++" mentioned in the "release documents". I can only twiddle my thumbs and wait patiently.

0 Kudos
Nikolay_L_Intel
Employee
1,760 Views

Dear Andreas,

You are right - I didn't find this information in release notes. It seems it was moved to another place. Sorry.
We need libstdc++.so.6, but icpc uses paths reported by your g++ to find the libstdc++ in the g++ installation.  You need a full g++ development installation, with g++ active in your shell.

Could you kindly try instructions below:
1) Here is the article https://software.intel.com/en-us/articles/intel-c-compiler-for-linux-iccicpc-error-could-not-find-directory-in-which-g-resides
2) Here is the topic with the similar problem: https://software.intel.com/en-us/forums/intel-c-compiler/topic/486698

A few more about using Intel Compilers for Linux with Ubuntu: https://software.intel.com/en-us/articles/using-intel-compilers-for-linux-with-ubuntu

Please reply if you have problems.

Thank you,
 - Nikolay

0 Kudos
Reply