Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.

ICC/GCC include conflict

dstuebe
Beginner
421 Views
Hi

I am a new to this stuff so please correct terminology and ask for clarification as needed.

My lab group recently installed ICC 9.1

We had been using the previous version without conflict, but now GCC barfs on any compile which uses standard (clearly not really standard) include statements like:
#include

ICC installed its libraries in our /usr/local/include directory and this is the first place that GCC looks for it header files etc. We tried envirnmental variables and compiler include options and found no way to get around this conflict except to hard code the path to the proper header file, YUCK!

Now we moved any files which are ICC related in our /usr/local/include directory to /usr/local/include/Intel. Now it has really hit the fan because GCC can't find the really basic stuff that it used to keep in /usr/local/include like stdarg.h! Would the ICC install really have written over the GCC header files? I don't get it, I don't think that is where GCC used to keep stdarg.h?

Our /usr/local is a remote mounted disk which is networked and contains all our common stuff, but gcc/g++ should be local, I don't understand why this is so difficult?

Suggestions on how to get ICC and GCC to live harmoniously are welcome!

Thanks

David
0 Kudos
1 Reply
Dale_S_Intel
Employee
421 Views

Which distro are you using? And which version of gcc?

The installation scriptwould not normally put these files in /usr/local/include. Icc has some of it's own versions of the standard include files and they normally go under the install location. You should talk to the person who did the install and see how they did it. They may have been under the impression that these include files needed to be in /usr/local/include and done it by hand or something like that. In any case, if you look where icc is installed (typicallyunder /opt/intel/) you should find icc in'bin/' directory, and the needed include files in a sibling directory to the 'bin/' dir named 'include/'. If that's in place, you can probably remove the offending files from /usr/local/include. In any case, talk to the person responsible for installing it and get it fixed.

/usr/local/include is hard-wired into gcc and icc normally doesn't add any files there. If for some reason you discover that the installation script did that, a bug report should be filed.

Hope that helps.

Dale

0 Kudos
Reply