/usr/include/c++/3.4.6/iostream(44): catastrophic error: could not open source file "bits/c++config.h" #include ^
compilation aborted for test.c++ (code 4)
Which is odd because this only happens when I try to compile on the head node of our 20 node cluster. Even more surprisingly the C++ compiler is installed globally so all nodes mount it from the head node. Thus if it worked on one node I would have expected it to work on all nodes. I was having problems with much larger programs like MPICH2 so I then went back and tried something very simple. Any suggestions?
This looks like missing bits in your installation of glibc-devel. If you are using the 32-bit icc, you need a complete installation of 32-bit g++ and its dependencies, as well as (if on a 64-bit OS) 64-bit g++ development system. With icc prior to 10.0, if you updated your g++, you had to re-install icc to make it consistent. You are looking for a very old installation of g++ here.
And by re-installing icc do you mean I would have to upgrade my version of icc? Or simply re-install the version I have? Because I have re-installed the version I have but I had the same problems. What version of g++ should I be looking for?
Yes, uninstalling and re-installing the same version of icc back then would accommodate to a change in the g++ installation. It would not fix missing components of a g++ installation. The installation notes in your icc docs directory would tell what range of g++ versions had been tested with that compiler. If you have upgraded your g++ beyond the supported range of the old icc, that might be sufficient reason to consider icc upgrade.
Hi Without information about your versions O/s,Gcc,icc. also before you reinstall test this easy way you write in shell (bash) LANG=C; export LANG After test if your task is executed correctly. Is for eventuality problem (++) part of name used... Kind regards
Hi (added after Sorry forget if you have already read) Without relation is for the header name...... supposed illegal characters #include c++config.h> wrong read by compiler (++) ,is the fault have give compiler. Best regards (added after Sorry forget if you have already read)