I have a problem when install intel 32bit compiler on 64bit Linux (Ubuntu 12.04)OS.
I did installed ia32-lib, but when I install intel 32bit compiler, it still said this lib is missing.
The installed ia32-lib located at: by coomand of find /lib/* -name libstd*
How could I let intel compiler knows their location?
I would expect the Intel compiler to find the libraries by a command such as
g++ -m32 -print-search-dirs
So it would be sufficient to install the 32-bit gcc compatible with your Ubuntu.
Icc 12.0 was the first to recognize the special Ubuntu setup, so there were additional steps documented (on the corresponding forum, before it was changed) about 11.1 on Ubuntu.
Many thanks for your repy!
I checked the intel install path include :/usr/lib/i386-linux-gnu/
but when I reinstall intel compiler, lt stil said 32-bit lib not found.
Many thanks for your reply!
What I did are:
1) follow intel webside instruction, install
apt-get install build-essential
apt-get install gcc-multilib
apt-get install rpm
apt-get install ia32-libs (only needed if you install the 32bit compiler)
apt-get install openjdk-6-jre-headless
before install parallel_studio_xe_2013_update3
2) However,in the installation, it still said
fail to collect analysis data.
-- Intel(R) Composer XE 2013 Update 3 for Linux*: 32-bit libraries not found
the detail is here:
32-bit libraries not found on this system.
This product release requires the presence of 32-bit compatibility libraries
when running on Intel(R) 64 architecture One or more of these libraries
could not be found:
libstdc++ (including libstdc++6)
Without these libraries, the compiler will not function properly. Please refer
to Release Notes for more information.
3) Base on your suggestion, I checked the path.
type find: /usr/lib* -name libstdc*
type: g++ -m32 -print-search-dirs
It looks the ia32-libs path is already included in intel searching path, is that right?
4) I tested just ignore this Missing optional pre-requisites, and continue finishing the installation.
and tested using icc to compile single zlib, it failed.
Pleas help me about this, I realy need to use 32bit compiler on 64bit systems
In another post it was reported that icc ia32 installer reported that Ubuntu and Debian 64-bit aren't supported for the 32-bit compiler. The evident reason would be that these distros place 64-bit libraries where LSB specifies 32-bit libraries would exist. If that is the problem, you could reorganize with symlinks to make 32-bit compilers work with standard paths, but you would break the 64-bit path scheme of these distros.
It did look from your reply that i386 paths exist down the list of where icpc should be searching. So I guess you might want to file a problem report pointing this out and asking whether it shouldn't be able to sort this out.
Could you show me how to do symlinks for my case?
ln -s /usr/lib/i386-linux-gnu/ /usr/lib/x86_64-linux-gnu/; like this? Is there something else need to do?
Sorry, I am not linux expert.
Thanks in advance.
You probably need to remove Intel compilers using their uninstall scripts (e.g. find /opt/intel/ -name uninstall* followed by sudo <whichever_unstall>
You would rename the directories which don't conform to LSB, e.g.
sudo mv /usr/lib /usr/lib64 (assuming there is nothing there now)
sudo ln -s /usr/lib32 /usr/lib
and possibly others (I don't intend to try this myself). Just be sure you can get back to where you started (after again uninstalling the intel compiler) in case it cause problems.
Try out g++ -m32 (the 64-bit one will probably be broken)
and then install icc over. with over-ride of warnings.
Obviously, this isn't supported, and may not work. It will almost surely make some 64-bit stuff fail.
Many thanks for your suggestion.
It seems too risky to do so.
Is there any other way to install 32bit compiler on 64bit Ubuntu?
Or I have to change to another Linux system for this?