Archived

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

Can Ice be used under FC4 with gcc 4.0?

Hi,everyone
I' a new comer who try to use Ice in his project. I download Ice 3.0 and my Linux is Fedora Core 4 with gcc 4.0. According to the "INSTALL.LINUX" document,I made configuration for the Berkeley DB, expat, OpenSSL, and bzip2. In fact, Berkeley DB, OpenSSL, and bzip2 are already installed. I only have to install expat. After these dependencies are ready, I try to install Ice. But the "make" command can't pass through. And when I use "python assTests.py" to test, the tests abort with failed. So I don't know where is the problem. In the "INSTALL.LINUX" document, there are some requirements:
Operating System
Ice is expected to build and run properly on any recent Linux
distribution for x86 and x86_64. However, Ice is officially supported
only on:
- Fedora Core 5 for x86 or x86_64
- RedHat Linux Enterprise 4.2 for x86 or x86_64
C++ compiler
Ice is expected to build properly with GCC 3.3 or later. However,
only the following compilers are officially supported:
- GCC 4.1.x on Fedora Core 5
- GCC 3.4.4 on RedHat Linux Enterprise 4.2

So I think maybe the problem lies in the version of Fedora Core and gcc.
Do you have experience in this field?
Thanks very much for your help!

Comments

  • matthew
    matthew NL, Canada
    gcc 4.0 will not work, due to a bug with the compiler (I don't think Ice will even compile with gcc 4.0). However, gcc 4.0.1 works -- this is the compiler we use under MacOS, for example. What problem specifically are you running into?
  • bernard
    bernard Jupiter, FL
    Hi Zhou Jianhua,

    You can build and use Ice 3.0 and 3.1 on Fedora Core 4.

    For Ice 3.0, the simplest is to use the Ice 3.0.1 FC4 RPMs available from:
    http://www.zeroc.com/download_3_0.html. You can even use 'yum' to install these RPMs.

    For Ice 3.1, I strongly recommend to install the third-party dependencies using rpms, not to build them yourself (because it's much simpler).
    Then make sure you have an updated FC4 distribution, with GCC 4.0.1 or GCC 4.0.2. Ice 3.x does not build with GCC 4.0.0.

    Best regards,
    Bernard
  • Thanks very much for your reply!
    From your explation I know that I have to update my gcc4.0 to gcc 4.0.1 or 4.0.2. I still have another question: I find that the third-party dependencies already installed in my FC4 distribution in the default directory. I think all of them are installed in "/usr/". I also find that the version of the third-party dependencies don't match the Ice requirements. So, can I use them or I have to reinstall these dependencies by myself?
    Thanks for your kind-hearted help!
  • bernard
    bernard Jupiter, FL
    ificanfly wrote:
    I also find that the version of the third-party dependencies don't match the Ice requirements.

    It's surprising: which package/version are you concerned about? I am fairly sure you can use the FC4 RPMS for all Ice third-party dependencies.

    Best regards,
    Bernard
  • bernard wrote:
    It's surprising: which package/version are you concerned about? I am fairly sure you can use the FC4 RPMS for all Ice third-party dependencies.

    Best regards,
    Bernard

    In the document "INSTALL.LINUX",it says:
    Ice has dependencies on a number of third-party libraries:
    - Berkeley DB 4.3.29 configured with --enable-cxx.
    If you intend to use Ice for Java with Berkeley DB, you must also
    include the option --enable-java.
    - expat 1.9x
    - OpenSSL 0.9.7 or later (OpenSSL 0.9.8 or later recommended)
    - bzip2 1.0

    In my FC4, the Berkeley DB version is 4.3.27. bzip version is 1.0.2. I don't
    change the "Make.rules" but use the default one.
  • benoit
    benoit Rennes, France
    Hi,

    Right, for our RPM distribution, we try to use the third party packages installed with the Fedora Core distribution. You shouldn't have any problems compiling Ice with db-4.3.27.

    If you can upgrade however, I would recommend to use Fedora Core 5 with the latest Ice 3.1.0 distribution.

    Cheers,
    Benoit.
  • benoit wrote:
    Hi,

    Right, for our RPM distribution, we try to use the third party packages installed with the Fedora Core distribution. You shouldn't have any problems compiling Ice with db-4.3.27.

    If you can upgrade however, I would recommend to use Fedora Core 5 with the latest Ice 3.1.0 distribution.

    Cheers,
    Benoit.
    Hi,
    I am downloading Fedora Core 5. I give up to install Ice on FC4.
    Thanks very much for your help!
  • benoit wrote:
    Hi,

    Right, for our RPM distribution, we try to use the third party packages installed with the Fedora Core distribution. You shouldn't have any problems compiling Ice with db-4.3.27.

    If you can upgrade however, I would recommend to use Fedora Core 5 with the latest Ice 3.1.0 distribution.

    Cheers,
    Benoit.
    Hi,everyone
    I have installed FC5 in my virtual machine. However, When I'm trying to install Ice-3.1.0, I still get failure. when I run "python allTests.py",I still get failed.It says ""I didn't do any change to the "/config/make.rules" file because I just use the third-party libraries supplied by my linux system, so I did't change anything. Is that right or shall I have to change the ""/config/make.rules" to set "BZIP2_HOME=/usr/bin" "DB_HOME=/usr/bin" "OPENSSL_HOME=/usr/bin" "EXPT_HOME=usr/bin/"? is that config necessary?
    I am really confused by the installation!
    Thanks very much for your help.
  • It could be that you don't have all of the required FC5 packages installed.

    What build errors are you getting?
  • beagles wrote:
    It could be that you don't have all of the required FC5 packages installed.

    What build errors are you getting?
    well,thanks very much for your reply.At last I installed Ice successfully in my FC5 and also add bin and lib to PATH
    and LD_LIBRARY_PATH. I wirte the simple hello program according to the Ice official
    distributed document "Ice-1.3.0-C.pdf".I write the Printer.ice and the content is :

    interface Printer
    {
    void printString(string s);
    };

    and the I enter "slice2cpp Print.cpp" but it show error like this:
    "Printer.ice:2 `Printer`:an interface can be defined only at module scope".
    It seems that I can't define a interface here.
    Maybe this question is quit simple but I am a new rookie to Ice.So, anybody can
    help one more a time? Thanks very much.
  • marc
    marc Florida
    The error message already describes the problem: You must define a module for your interface. Please see Ice manual for details.
  • marc wrote:
    The error message already describes the problem: You must define a module for your interface. Please see Ice manual for details.
    I already know the problem.I'm sorry to ask this question.I am too hurry to solve problem.Thank you very much.