what to install for 32 bit and 64 bit builds on 64 bit Linux
We have a 64-bit SUSE linux developement box (with Parallel Studio XE installed), and we want to generate builds targeted at archs ia32 (using -m32) and x86_64 (native arch).
The 64-bit version of Parallel Studio is not able to generate the 32-bit target:
catastrophic error: Compiler configuration problem encountered. The expected target architecture compiler is missing (12.0-ia32 != 12.0-intel64) icpc: error #10014: problem during multi-file optimization compilation (code 1)
...and the 32-bit version of Parallel Studio does not install.
So, how do we proceed? Is there some combination of l_ccompxe_[ia32/intel64], c_studio[ia32/intel64] and parallel_studio_xe_2011_[ia32/intel64] that can be co-installed on a single 64-bit box to achieve this? And for a co-installation, should the same install prefix directory be used for each package? (eg, install them all under /opt/intelxe) ?
Note, we presently have gcc 4.1 installed, and it is able to generate both 32-bit and 64-bit targets.
>>...and the 32-bit version of Parallel Studio does not install.
That may be the main problem. Unlike earlier versions, the current C and Fortran compilers do not allow cross-compilation. If the 64-bit compiler driver icc is given the -m32 switch, it looks for the 32-bit native compiler .../bin/ia32/mcpcom
On a 64-bit OS, there should be no problem with having both the 32-bit and 64-bit compilers installed, as long as the prerequisites of each are met.I have such an installation on OpenSuse 11.3, and have not had any problems building 32- and 64-bit targets from the 64-bit environment.
This older thread pertains to the 11.1 compiler, but some points raised may be of interest:
ld: skipping incompatible /app/compilers/intel/composerxe-2011.0.084/compiler/lib/ia32/libimf.a when searching for -limf ld: skipping incompatible /app/compilers/intel/composerxe-2011.0.084/ipp/../compiler/lib/ia32/libimf.a when searching for -limf