LAM/MPI logo

LAM/MPI General User's Mailing List Archives

  |   Home   |   Download   |   Documentation   |   FAQ   |   all just in this list

From: Tim Prince (tprince_at_[hidden])
Date: 2004-12-15 06:35:42


At 01:25 AM 12/15/2004, Konstantinos Pachnis wrote:

>Hello
>First some things about icc. ICC is using by default the gcc stdc++
>libraries if your version is greater than 3.2. The problem is that icc 8.1
>sometimes can not find the libstdc++ libraries and headers files. A
>workaround is to set GXX_ROOT (c++ libraries and GXX_INCLUDE (c++ header
>files) or build lam using the intel c++ libraries (add -cxxlib-icc to the
>CXXFLAGS).
That refers to g++ version 3.2.x through 3.4.x.

Even if you choose to use the Dinkumware STL, it would be advisable to
specify icpc as the C++ compiler. For those who insist on bypassing the
mechanisms, or debugging them, that sets the -Kc++ option. In turn, when
not using -cxxlib-icc, that adds the -L path and -lstdc++ for the libstdc++
found in accordance with 'g++ -print-search-dirs' . If a qualifying gnu
STL was not found during icc installation, -cxxlib-icc will be set as
default. If you change your g++ major version, and wish icpc to adapt, you
would re-install.
IIRC, the Dinkumware (-cxxlib-icc) support will be dropped soon. I did
find yesterday, on a distro which did not originally support g++-3.2, that
it was not feasible simply to upgrade g++ in order to use gnu STL, due to
glibc problems encountered by icpc. Thus, the Dinkumware may be the better
choice for some older distros, as well as for the Intel 7.x compilers.

Tim Prince