[INSTALL] "catastrophic error" with icc

ROOT version: CVS 12/18/2005
Platform: Gentoo Linux x86, icc 9.0

I encountered an error while compiling root with icc 9.0:

icc -O -fPIC -wd1476 -Iinclude -DHAVE_CONFIG -wd1572 -pthread -o reflex/src/Class.o -c reflex/src/Class.cxx
reflex/src/Class.cxx(26): catastrophic error: could not open source file "cxxabi.h"
  #include <cxxabi.h>
                     ^

compilation aborted for reflex/src/Class.cxx (code 4)
make: *** [reflex/src/Class.o] ERROR 4

How to fix this “catastrophic error”?

I searched and tried to add “-cxxlib-icc” to “EXTRA_CFLAGS” and “EXTRA_CXXFLAGS” within config/Makefile.config. I got another error while compiling CINT. Please see the attachement.
make_1.log.gz (1.68 KB)

I added “-cxxlib-gcc” to “EXTRA_CXXFLAGS”, the catastrophic error still exists.

icc -O -fPIC -wd1476 -Iinclude -DHAVE_CONFIG -cxxlib-gcc -wd1572 -pthread -o reflex/src/Class.o -c reflex/src/Class.cxx
reflex/src/Class.cxx(26): catastrophic error: could not open source file "cxxabi.h"
  #include <cxxabi.h>
                     ^

compilation aborted for reflex/src/Class.cxx (code 4)

“Class.cxx” passed with “-cxxlib-icc”, but others failed! Please see the attachment.
make_2.log.gz (477 Bytes)

The “cxxabi.h” works with “-cxxlib-icc”, but others don’t. If the src includes “cxxabi.h”, it cannot be compiled with “-cxxlib-gcc”. But many sources cannot work with “-cxxlib-icc”. I think, that’s should be a big problem while compiing ROOT with icc.

Got another icc error while enable-qt:

icc -O -fPIC -wd1476 -Iinclude -DHAVE_CONFIG -wd1572 -pthread -DQT_DLL -DQT_THREAD_SUPPORT -I. -I/usr/qt/3/include -o qt/src/moc_TGQt.o -c qt/src/moc_TGQt.cxx
qt/src/moc_TGQt.cxx(12): catastrophic error: #error directive: "The header file 'TGQt.h' doesn't include <QObject>."
  #error "The header file 'TGQt.h' doesn't include <QObject>."
   ^

compilation aborted for qt/src/moc_TGQt.cxx (code 4)

Hi,

my development platform is RH 9 with icc 9.0 and there are no problems compiling ROOT with the Reflex library there. I assume you’ve correctly setup icc (sourcing /opt/intel/cc/9.0/bin/iccvars.sh at shell startup) and that you’ve configure ROOT using: ./configure linuxicc

Cheers, Fons.

I did sourced “/opt/intel/cc/9.0/bin/iccvars.sh” and ROOT is configured with linuxicc. Have you successfully built ROOT with “icc -cxxlib-icc”?

No I use the gcc libstdc++.

Cheers, Fons.