Home Help Center

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...



  • bernardbernard Jupiter, FLAdministrators, ZeroC Staff Bernard NormierOrganization: ZeroC, Inc.Project: Ice ZeroC Staff
    Hi Kevin,

    Unfortunately the Intel C++ 7.0 compiler is no longer available from the Intel web site. Maybe you could upgrade to 8.0? I just posted a patch that adds support for this compiler: see http://www.zeroc.com/vbulletin/showthread.php?s=&threadid=407.

Sign In or Register to comment.