Archived

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

Build error in Redhat Linux 9.0

I solve it myself already. thanks.

I build ICE-3.0.1 in Redhat Linux 9.0. but it failed.
I already install Berkeley DB 4.3.29 with --enable-cxx.

the error message is follow, help me.


c++ -c -I.. -I../../include -DFREEZE_API_EXPORTS -ftemplate-depth-128 -Wall -D_REENTRANT -fPIC -g EvictorI.cpp
EvictorI.cpp: In member function `virtual void Freeze::EvictorI::run()':
EvictorI.cpp:1622: parse error before `&' token
EvictorI.cpp:1627: `out' undeclared (first use this function)
EvictorI.cpp:1627: (Each undeclared identifier is reported only once for each
function it appears in.)
EvictorI.cpp:1634: parse error before `catch'
EvictorI.cpp:1637: `ex' undeclared (first use this function)
EvictorI.cpp:1637: `dx' undeclared (first use this function)
EvictorI.cpp:1641: must have at least one catch per try block
EvictorI.cpp: At global scope:
EvictorI.cpp:1642: parse error before `while'
EvictorI.cpp:1651: syntax error before `!=' token
EvictorI.cpp:1651: syntax error before `++' token
EvictorI.cpp:1654: syntax error before `->' token
EvictorI.cpp:1656: syntax error before `.' token
EvictorI.cpp:1659: syntax error before `!=' token
EvictorI.cpp:1659: syntax error before `++' token
EvictorI.cpp:1682: syntax error before `.' token
EvictorI.cpp:1683: ISO C++ forbids declaration of `evict' with no type
EvictorI.cpp:1685: parse error before `if'
EvictorI.cpp:1688: ISO C++ forbids declaration of `notifyAll' with no type
EvictorI.cpp:1689: parse error before `}' token
EvictorI.cpp:1696: syntax error before `<<' token
EvictorI.cpp:1697: syntax error before `.' token
EvictorI.cpp:1698: invalid use of `this' at top level
EvictorI.cpp:1698: `_communicator' was not declared in this scope
EvictorI.cpp:1698: ISO C++ forbids declaration of `handleFatalError' with no
type
EvictorI.cpp:1698: `int handleFatalError' redeclared as different kind of
symbol
EvictorI.cpp:77: previous declaration of `void handleFatalError(const
Freeze::EvictorPtr&, const Ice::CommunicatorPtr&)'
EvictorI.cpp:1698: initializer list being treated as compound expression
EvictorI.cpp:1699: parse error before `}' token
EvictorI.cpp:1703: syntax error before `<<' token
EvictorI.cpp:1704: syntax error before `.' token
EvictorI.cpp:1705: invalid use of `this' at top level
EvictorI.cpp:1705: `_communicator' was not declared in this scope
EvictorI.cpp:1705: ISO C++ forbids declaration of `handleFatalError' with no
type
EvictorI.cpp:1705: redefinition of `int handleFatalError'
EvictorI.cpp:1698: `int handleFatalError' previously defined here
EvictorI.cpp:1705: initializer list being treated as compound expression
EvictorI.cpp:1706: parse error before `}' token
EvictorI.cpp:1710: syntax error before `<<' token
EvictorI.cpp:1711: syntax error before `.' token
EvictorI.cpp:1712: invalid use of `this' at top level
EvictorI.cpp:1712: `_communicator' was not declared in this scope
EvictorI.cpp:1712: ISO C++ forbids declaration of `handleFatalError' with no
type
EvictorI.cpp:1712: redefinition of `int handleFatalError'
EvictorI.cpp:1705: `int handleFatalError' previously defined here
EvictorI.cpp:1712: initializer list being treated as compound expression
EvictorI.cpp:1713: parse error before `}' token
EvictorI.cpp: In member function `std::vector<std::string,
std::allocator<std::string> > Freeze::EvictorI::allDbs() const':
EvictorI.cpp:1911: no matching function for call to `Db::open(int, const char*,
int, DBTYPE, int, int)'
/usr/include/db_cxx.h:519: candidates are: int Db::open(const char*, const
char*, DBTYPE, unsigned int, int)
make[2]: *** [EvictorI.o] Error 1
make[2]: Leaving directory `/home/wuqiu/Ice-3.0.1/src/Freeze'
make[1]: *** [all] Error 1
make[1]: Leaving directory `/home/wuqiu/Ice-3.0.1/src'
make: *** [all] Error 1

Comments

  • I solve it myself already. thanks.
  • the same problem...help

    i had the same problem, when i installing ICE on RH9 with kernel 2.4.18, and Berkeley DB 4.3.29 which was configured with --enable-cxx. i also set DB_HOME in Make.rules to be the right path. compile cannot pass neither... :confused: my gcc version is 3.2.2, does it work? can u tell me what u did to resolve it?
  • benoit
    benoit Rennes, France
    Hi,

    Could you please set your signature? See [thread=1697]this thread[/thread] for more information. Also, unless it's *exactly* the same compilation error as the one above, you should cut/paste the error you're getting.

    Cheers,
    Benoit.
  • sorry i set my signature

    yap my problem is *exactly* the same with the above... could u tell me what happened?
  • benoit
    benoit Rennes, France
    Hi,

    Sorry, your signature doesn't contain the required information (see [thread=1697]here[/thread] for the details). Please set your signature with this information if you want us to help you with your compilation error.

    Thanks,

    Benoit.
  • strange...

    strange requirement...is it ok now? please...
  • nobody help me??

    please, is here offical website?...
  • benoit
    benoit Rennes, France
    Hi Daniel,

    Yes, this is the official ZeroC community forum. As explained in this thread http://www.zeroc.com/vbulletin/showthread.php?t=1697, the ZeroC staff usually provides free support only to registered users which have correctly set their signature. Your full name and the URL of your company, university or organization is still missing from your signature, could you please set this information if you want us to help you?

    As for the compilation error mentioned at the top of this thread, I think the problem was most likely that DB_HOME wasn't correctly set, perhaps wuqiu will confirm this.

    Cheers,
    Benoit.
  • hic...

    forgot to uncomment the line "DB_HOME"...
    now it works.
    thx.
  • thedaniel wrote:
    i had the same problem, when i installing ICE on RH9 with kernel 2.4.18, and Berkeley DB 4.3.29 which was configured with --enable-cxx. i also set DB_HOME in Make.rules to be the right path. compile cannot pass neither... :confused: my gcc version is 3.2.2, does it work? can u tell me what u did to resolve it?

    because RedHat Linux 8 and 9 include older versions. replace with new version DB path.