- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Problem: I am trying to install on a LinuxMint 15 (Olivia) 64-bit System (Ubuntu derivate) that does not support ia32-libs any more. Naturally, this results in Intel C only working for 64-Bit compilation, since libc6:i386 can't be found. The installation of intel C works fine for 64-bit, but fails compiling for 32-bit: Some headers can't be found by icc.
Alltough ia32-libs is still installable (...which I did already!), my system does not recognize the 32-bit libs from ia32-libs (other apps using 32-bit, e.g wine, are working!)
Is there a workaround to make Intel C aware of the 32-bit libs? any help apreciated! :)
kind regards,
Michael
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You would need to start out by getting a full combined 32-/64-bit installation of g++ such that g++ -m32 works. icc ia32 depends on several libraries provided by g++ -m32 and may use g++ -m32 to locate the headers, even if g++ -m64 knows where they are.
If you don't have access to a repository which includes pre-built 32-bit g++, it might be possible (as it is on standard linux) to install glibc-devel.i686 (if it's not included in ia32-libs) and then build g++ for both 32- and 64-bit from source. g++ 4.7 is supported by xe2013 versions of icpc (the final one would be preferable). More support for g++ 4.8 is in xe2013 sp1; again you should use the last update if you choose that.
Evidently, it is becoming more of a hassle to support 32-bit development. The upcoming releases of Intel MPI already appear to be dropping 32-bit support, in view of lack of demand.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You would need to start out by getting a full combined 32-/64-bit installation of g++ such that g++ -m32 works. icc ia32 depends on several libraries provided by g++ -m32 and may use g++ -m32 to locate the headers, even if g++ -m64 knows where they are.
If you don't have access to a repository which includes pre-built 32-bit g++, it might be possible (as it is on standard linux) to install glibc-devel.i686 (if it's not included in ia32-libs) and then build g++ for both 32- and 64-bit from source. g++ 4.7 is supported by xe2013 versions of icpc (the final one would be preferable). More support for g++ 4.8 is in xe2013 sp1; again you should use the last update if you choose that.
Evidently, it is becoming more of a hassle to support 32-bit development. The upcoming releases of Intel MPI already appear to be dropping 32-bit support, in view of lack of demand.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for your advice, Tim.
I reinstalled gcc4.7-multilib (which installs glibc6-32) and tested a simple console app with gcc -m32 (was not working before...) - it worked. Doing the same with icc, the problem still is the same. while compiling with icc -m64 works, -m32 produces this:
bergmann@fatboy:~/Projekte/C++/woche_2/tag_1 > icc -m32 zeiger.cpp -o zeigeri32
In file included from zeiger.cpp(1):
/usr/include/c++/4.7/iostream(39): catastrophic error: cannot open source file "bits/c++config.h"
#include <bits/c++config.h>
^
compilation aborted for zeiger.cpp (code 4)
Do I have to reinstall xe2013 or is it really the hard way - compile gcc for both architectures by hand?
regards,
Michael

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page