Home Help Center

Can Ice be compiled with gcc 2.95?

The Linux installation nodes say:
C++ compiler

- GCC 3.2; or

- GCC 2.96 with STLport 4.5

I however need to evaluate Ice with GCC 2.95.3 as currently 2.96 is not an option for us. With 2.95 Ice compiles well until I get this:

make[2]: Entering directory `/home/jukvaini/ice/Ice-1.0.1/src/Ice'
pentium3-g++ -c -I.. -I../../include -I/home/jukvaini/ice/STLport-4.5.3/include/stlport -g -ftemplate-depth-128 -fPIC -Wall -D__linux__ Router.cpp
Router.cpp: In function `void IceInternal::checkedCast(const Ice::ObjectPrx &, const _STL::string &, IceInternal::ProxyHandle<IceProxy::Ice::Router> &)':
Router.cpp:58: `const class IceInternal::ProxyHandle<IceProxy::Ice::Object>' used where a `bool' was expected
make[2]: *** [Router.o] Error 1
make[2]: Leaving directory `/home/jukvaini/ice/Ice-1.0.1/src/Ice'

Which comes from Router.cpp code:
54 void
55 IceInternal::checkedCast(const ::Ice::ObjectPrx& b, ::Ice::RouterPrx& d)
56 {
57 d = 0;
58 if(b)
59 {

TIA!

:confused:

Comments

  • CatOneCatOne Member Bill LloydOrganization: --Project: --
    I really doubt this is workable. There were SUBSTANTIAL changes to GCC between versions 2.95.3 and version 3.2. Many of them were around STL (which ice leverages heavily).

    Why specifically can't you install GCC 3.2 or 3.3 on that machine?
  • marcmarc FloridaAdministrators, ZeroC Staff Marc LaukienOrganization: ZeroC, Inc.Project: The Internet Communications Engine ZeroC Staff
    I made some changes to Ice, and now it compiles without problems with GCC 2.95.3. (Apparently GCC 2.95.3 has some problems with fully scoped names and operator bool.)

    All tests work, except for tests that involve loading of shared libraries (plugins, IcePack). I'm sure we can fix this problem, too.

    If you like to have a snapshot version with support for GCC 2.95.3, please email me directly at [email protected].
  • CatOneCatOne Member Bill LloydOrganization: --Project: --
    Looks like I better do more homework before I put the words "no can do" in front of master Marc. Mea culpa ;-)
  • BruceBruce Member
    Originally posted by marc
    I made some changes to Ice, and now it compiles without problems with GCC 2.95.3. (Apparently GCC 2.95.3 has some problems with fully scoped names and operator bool.)

    Note though that you should be using the stlport. I spent a miserable
    week tracking down an intermittent bug before discovering that the
    std::string in gcc stl for 2.95 was not thread safe.
  • IvanIvan Member
    patch

    For those who didn't get snapshot version from marc ;) but still want to compile Ice with GCC 2.95.3 can apply attached patch.

    Ivan
Sign In or Register to comment.