Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
28383 Discussions

Anticipating proglem with Ubuntu 9.10

eliosh
Beginner
1,464 Views
As far as I know, in the forthcoming release of Ubuntu (9.10) they dropped support for libstdc++ which is still required by Intel compilers
0 Kudos
25 Replies
tracyx
New Contributor I
1,240 Views
Quoting - eliosh
As far as I know, in the forthcoming release of Ubuntu (9.10) they dropped support for libstdc++ which is still required by Intel compilers

To clarify your question (if I may).

Support for libstdc++5 (which ifort depends on) appears to have been dropped, but libstdc++6 is available from the repositories.

0 Kudos
silicontoad
Beginner
1,240 Views
Quoting - eliosh
As far as I know, in the forthcoming release of Ubuntu (9.10) they dropped support for libstdc++ which is still required by Intel compilers
I have had no luck so far trying to install intel cpp compiler 11.1.056 (latest) on Ubuntu (9.10 dist-updated today). libstdc++5 dropped, installed 6, installed ia32libs, does not like it for some reason, complains about prerequisits

Missing critical pre-requisite
-- 32-bit libraries not found

libstdc++
libstdc++5
glibc
libgcc
(installed libstdc++5) from jaunty, no help
0 Kudos
Ron_Green
Moderator
1,240 Views
Quoting - silicontoad
I have had no luck so far trying to install intel cpp compiler 11.1.056 (latest) on Ubuntu (9.10 dist-updated today). libstdc++5 dropped, installed 6, installed ia32libs, does not like it for some reason, complains about prerequisits

Missing critical pre-requisite
-- 32-bit libraries not found

libstdc++
libstdc++5
glibc
libgcc
(installed libstdc++5) from jaunty, no help

Try this - sym link the 64bit libstdc++.so.6 in /usr/lib to /usr/lib/libstdc++.so.5. Then the same for the 32bit version, link /usr/lib32/libstdc++.so.6 to /usr/lib32/libstdc++.so.5.

After that, use the silent installation procedure, which you'll find in the list of docs in the right-hand side of the main page for this User Forum.

Finally, test both the 64bit and 32bit compilers:

source /opt/intel/Compiler/11.1/056/bin/ifortvars.sh intel64


source /opt/intel/Compiler/11.1/056/bin/ifortvars.sh ia32


We'd like to remove the requirement for libstdc++.so.5, but since we have to support some really old distros, we need to keep this around for a little while longer.

ron
0 Kudos
TimP
Honored Contributor III
1,240 Views
Quoting - silicontoad
I have had no luck so far trying to install intel cpp compiler 11.1.056 (latest) on Ubuntu (9.10 dist-updated today). libstdc++5 dropped, installed 6, installed ia32libs, does not like it for some reason, complains about prerequisits

Missing critical pre-requisite
-- 32-bit libraries not found

libstdc++
libstdc++5
glibc
libgcc
(installed libstdc++5) from jaunty, no help
Most of these should be installed automatically when you select the g++ development package (in the same 32- or 64-bit flavor as the intended icpc). You must get g++ working before attempting to install icpc.
icpc requires the libstdc++-5, which can coexist with libstdc++-6.
0 Kudos
tracyx
New Contributor I
1,240 Views
Quoting - tim18
Most of these should be installed automatically when you select the g++ development package (in the same 32- or 64-bit flavor as the intended icpc). You must get g++ working before attempting to install icpc.
icpc requires the libstdc++-5, which can coexist with libstdc++-6.

all the g++ packages in karmic seem to depend on libstdc++6, and not libstdc++5 (which does not seem to be available)
0 Kudos
TimP
Honored Contributor III
1,240 Views
Quoting - tracyx

all the g++ packages in karmic seem to depend on libstdc++6, and not libstdc++5 (which does not seem to be available)
Still, you need them all, to support the icpc installation. If you're lucky, it may be possible to symlink the libstdc++ so it appears as libstdc++.so.5.
0 Kudos
silicontoad
Beginner
1,240 Views

Try this - sym link the 64bit libstdc++.so.6 in /usr/lib to /usr/lib/libstdc++.so.5. Then the same for the 32bit version, link /usr/lib32/libstdc++.so.6 to /usr/lib32/libstdc++.so.5.

After that, use the silent installation procedure, which you'll find in the list of docs in the right-hand side of the main page for this User Forum.

Finally, test both the 64bit and 32bit compilers:

source /opt/intel/Compiler/11.1/056/bin/ifortvars.sh intel64


source /opt/intel/Compiler/11.1/056/bin/ifortvars.sh ia32


We'd like to remove the requirement for libstdc++.so.5, but since we have to support some really old distros, we need to keep this around for a little while longer.

ron

I can confirm this works on 9.10(amd64):
Create symlinks in:
/usr/lib32/libstdc++.so.6 ----> /usr/lib32/libstdc++.so.5
/usr/lib64/libstdc++.so.6 ----> /usr/lib64/libstdc++.so.5

no need for silent install.

I already have libstdc++.so.5 (don't ask why, maybe cause I tried a jaunty install of libstdc++.so.5 which I later removed) in /usr/lib (if you don't and you run into trouble maybe create a symlink their too)

Compiled simple helloWorld example, ERROR!.

/opt/intel/Compiler/11.1/056/bin/intel64$ ./icc ~/hello.cpp
/opt/intel/Compiler/11.1/056/bin/intel64/mcpcom: /usr/lib/libstdc++.so.5: version `CXXABI_1.2' not found (required by /opt/intel/Compiler/11.1/056/bin/intel64/mcpcom)
/opt/intel/Compiler/11.1/056/bin/intel64/mcpcom: /usr/lib/libstdc++.so.5: version `GLIBCPP_3.2' not found (required by /opt/intel/Compiler/11.1/056/bin/intel64/mcpcom)

so:
strings /usr/lib64/libstdc++.so.5 | grep CXXABI [RECALL - this one is symlink of libstdc++.so.6]
revealed:
CXXABI_1.3
CXXABI_1.3.1
CXXABI_1.3.2
CXXABI_1.3.3

Much appreciated Ron, but it seems you need the libstdc++.so.5, grab if from jaunty (http://packages.ubuntu.com/jaunty/libstdc++5), create symbolic link from /usr/lib to /usr/lib32 and /usr/lib64. and all should work fine. (take care choosing i386 or amd64)

as per the error:
strings /usr/lib64/libstdc++.so.5 | grep CXXABI [this one is symlink of libstdc++.so.5 from /usr/lib]
revealed:
CXXABI_1.2
CXXABI_1.2.1
CXXABI_1.2.2

I've only just noticed, I'm sorry for posting this in the forum for fortran, but perhaps it will help someone using fortran, and since it's first in google I'm sure it will help someone else trying to get icc working in ubuntu 9.10 (amd64).

By the way, this works when compiling the helloWorld example. About to compile Boost (fingers crossed)

TOAD
0 Kudos
eliosh
Beginner
1,240 Views
Quoting - tracyx

To clarify your question (if I may).

Support for libstdc++5 (which ifort depends on) appears to have been dropped, but libstdc++6 is available from the repositories.


Yes, that describes the situation precisely.

P.S.
Oooops. Just noticed that I forgot to write 5 in the library version.

0 Kudos
xnov
Beginner
1,240 Views
so any new solution? I'm new to linux
if there will be nothing in 2 weeks, i have to go back to ubuntu 9.04 for using the fortran compiler
thanks
0 Kudos
Steven_L_Intel1
Employee
1,240 Views
9.04 is the supported version of Ubuntu. Ubuntu is the worst offender among Linux distributions for making incompatible changes between updates. At some point in the future, 9.10 may be supported, but for now, you must have libstdc++.so.5 on your system and 9.10 is not supported.
0 Kudos
kcstein
Beginner
1,240 Views
9.04 is the supported version of Ubuntu. Ubuntu is the worst offender among Linux distributions for making incompatible changes between updates. At some point in the future, 9.10 may be supported, but for now, you must have libstdc++.so.5 on your system and 9.10 is not supported.

I gave this a shot. I am using Ubuntu 9.10, but I snagged a libstdc++.so.5.0.7 library. It is simlinked properly, and placed in both /usr/lib32 and /usr/lib64. The compiler [11.1] installs properly, but when I try and compile, I get an error that says: wrong ELF class: ELFCLASS32.

What am I doing wrong?
0 Kudos
TimP
Honored Contributor III
1,240 Views
The 32-bit library won't stand in successfully for the 64-bit one. Try first removing the symlink which makes the 32-bit library appear in 64-bit. Ubuntu probably expects a 64-bit library in /usr/lib as well (one of their discrepancies against LSB).
0 Kudos
kcstein
Beginner
1,240 Views
Quoting - tim18
The 32-bit library won't stand in successfully for the 64-bit one. Try first removing the symlink which makes the 32-bit library appear in 64-bit. Ubuntu probably expects a 64-bit library in /usr/lib as well (one of their discrepancies against LSB).
This is what I had guessed.

So there is a 32-bit version of the libstdc++.so.5 library and a 64-bit version of the same library? Each of these needs to be in the appropriate directory [either /usr/lib32 or /usr/lib64 respectively].

It looks like I already have the 32 bit version of the library. Can anyone point me towards the 64-bit version and let me know where, and the appropriate name of the larger package that I might find it in?

Thanks...
0 Kudos
Ron_Green
Moderator
1,240 Views
Quoting - kcstein

I gave this a shot. I am using Ubuntu 9.10, but I snagged a libstdc++.so.5.0.7 library. It is simlinked properly, and placed in both /usr/lib32 and /usr/lib64. The compiler [11.1] installs properly, but when I try and compile, I get an error that says: wrong ELF class: ELFCLASS32.

What am I doing wrong?

Did you get a 32bit or 64bit libstdc++5? You need the 32bit version linked in /usr/lib32 and the 64bit version sym linked in /usr/lib64

You can use the 'file' utility to tell you the object file format:

In /usr/lib64:
file libstdc++.so.5.0.7
libstdc++.so.5.0.7: ELF 64-bit LSB shared object, AMD x86-64, version 1 (SYSV), stripped

In /usr/lib32
file libstdc++.so.5.0.7
libstdc++.so.5.0.7: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), stripped

0 Kudos
kcstein
Beginner
1,240 Views

Did you get a 32bit or 64bit libstdc++5? You need the 32bit version linked in /usr/lib32 and the 64bit version sym linked in /usr/lib64

You can use the 'file' utility to tell you the object file format:

In /usr/lib64:
file libstdc++.so.5.0.7
libstdc++.so.5.0.7: ELF 64-bit LSB shared object, AMD x86-64, version 1 (SYSV), stripped

In /usr/lib32
file libstdc++.so.5.0.7
libstdc++.so.5.0.7: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), stripped

Got it figured out. Thanks for the help. Just ran a diagnostic on a big problem; I am finding ifort to take about the same amount of time as gfortran. My next step is to try it using MKL libraries...but this is another issue separate from the Ubuntu issue.

Thanks. If anyone running into this same issue has trouble finding the libraries, I found it easiest to locate them through the Debian repositories rather than through Ubuntu channels.
0 Kudos
Lorenzo_Trojan
Beginner
1,240 Views
Quoting - eliosh
As far as I know, in the forthcoming release of Ubuntu (9.10) they dropped support for libstdc++ which is still required by Intel compilers

had the same problem

downloaded and installed the debian package libstdc++5 from:

http://packages.debian.org/stable/base/libstdc++5

this solved the problem, I hope it won't break up things later on!!!
0 Kudos
kcstein
Beginner
1,240 Views
Quoting - Lorenzo Trojan

had the same problem

downloaded and installed the debian package libstdc++5 from:

http://packages.debian.org/stable/base/libstdc++5

this solved the problem, I hope it won't break up things later on!!!
I don't see why it would. Ubuntu still has the libraries it requires [libstdc++6], and the Intel software is just looking for the libstdc++5 libraries.

It looks to me like the thread now has all of the information needed for a user to get around any problems with Ubuntu/Kubuntu version 9.10.
0 Kudos
Ron_Green
Moderator
1,240 Views

I've captured everyone's knowledge, tested on my own sandbox, and updated our installation document:

http://software.intel.com/en-us/articles/using-intel-compilers-for-linux-with-ubuntu/

Thanks to everyone who helped solve this problem! It's important to keep the Ubuntu community running smoothly with the Intel compilers.

ron
0 Kudos
flyguy97
Beginner
1,240 Views

I've captured everyone's knowledge, tested on my own sandbox, and updated our installation document:

http://software.intel.com/en-us/articles/using-intel-compilers-for-linux-with-ubuntu/

Thanks to everyone who helped solve this problem! It's important to keep the Ubuntu community running smoothly with the Intel compilers.

ron


Ron,

I have created a more user-friendly solution for the libstdc++5 issue. I made packages for libstdc++5 in i386, x86_64, and lpic architectures, I also created a package called lib32stdc++5 as a compatibility layer between the 32-bit libstdc++5 and the 64-bit platform (similar to the functionality that was included as part of the ia32-libs package prior to Ubuntu 9.10). You can either download the individual packages or add my PPA to your 3rd party sofware sources. Instructions for adding my PPA can be found at https://launchpad.net/~jason-scheunemann/+archive/ppa. I am unsure of the requirements of your compiler but I hope that your company's product can benefit from the above-mentioned packages. I should let you know that I, in no way, represent Ubuntu or its interests. I am just an open-source developer who ran into the same problem that a lot of people are running into with these libraries. In my personal opinion Ubuntu failed to exercise due dilligence when they decided to remove these packages from their default repositories. If you have any questions or conerns regarding these packages please feel free to contact me. My email address is .@yahoo.com (obviously substitue for my real name).

Sincerely,
Jason Scheunemann
0 Kudos
h24sn8x6
Beginner
1,016 Views
Hello,

I am new to this thread, but I think I was having the same problem (or at least a similar one) with installing Intel Fortran 11.1/069 on Ubuntu 9.10. It was difficult b/c the machine does not have i-net access (due to other restrictions outside my control), so installing dependencies was rather hard. But after installing libstdc++6, it would say libstdc++.so.5 was not there; providing the symlink created the 'CXXABI_1.2' error (libstdc++6 I think has CXXAB_1.3 instead), but then I used the instructions found here:

http://bootstrapping.wordpress.com/2009/11/25/missing-libstdc-so-5-in-ubuntu-9-10-karmic/

and I can at least now compile fortran programs. I've not tried any major fortran programs (just hello worlds) but at least it seems to be working in 9.10.

--h24sn8x6
0 Kudos
Reply