Archived

This forum has been archived. Please start a new discussion on GitHub.

Help compiling Ice on Linux with Intel compiler

I'm trying to build Ice on Linux to use in a product that deploys on RedHat
7.3. The INSTALL.LINUX says to compile with either:
- GCC 3.2
- GCC 2.96 with STLport 4.5

The RedHat 7.3 I'm using has 2.96 but we ship our product using the Intel 7.0 C++
compiler so before I try to upgrade my compiler to 3.2 (I spent a few hours on
this and still haven't figured out all the rpm dependencies) I thought I try
the Intel compiler on Ice. The problem I've run into is in building various
header files from the ...src/Ice directory, one example is Identity.ice. I've
built it on a RedHat 9.0 system which has a gcc 3.2 compiler and show the
different results I get to the Intel compiler. The error occurs on the last
few lines of the generated .h file which results in a source file including them
to file compiling (the ??? should have been replaced with ::Ice::Identity).


include/Ice/Identity.h (from slice/Ice/Identity.ice)
incorrect (generated by intel 7.0 compiler on RedHat 7.3):
typedef ::std::map<???, ::Ice::ObjectPtr> ObjectDict;
typedef ::std::vector<???> IdentitySeq;

correct (generated by gcc 3.2 compiler on RedHat 9.0):
typedef ::std::map< ::Ice::Identity, ::Ice::ObjectPtr> ObjectDict;
typedef ::std::vector< ::Ice::Identity> IdentitySeq;


Any suggestions...

kevin

Comments