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

Build problem on Linux

I am attempting to build Ice 1.1.0 on my Mandrake 9.1 Linux system.

I found that I didn't have Xerces so I downloaded (from rpmfind) and built version 2.1.0.

Now running Ice-1.1.0 gets to a link action and encounters problems.

It first complained that it couldn't find a

I have a file on my system, so I created a symbolic link to it
to create the needed "file".

Now I'm running into unresolved external errors. As an example:

Validate.o(.text+0x449):/home/jholle/Ice-1.1.0/src/slice2xsd/Validate.cpp:156: undefined reference to `XercesDOMParser::XercesDOMParser[in-charge](XMLValidator*)'

Does anybody know how to get around this problem?


  • mes
    mes California
    Hi Jeff,

    Did you set XERCESC_HOME to the appropriate directory so that the linker can find $(XERCESC_HOME)/lib/

    - Mark
  • No I didn't have the XERCESC_HOME variable set. As per the Xercesc build instructions, I had XERCESCROOT set instead.

    On setting the variable that you sugguested though, this problem was fixed.


    Now I have another problem.

    The problem begins with this compiler error message:

    In file included from DBI.cpp:17:
    ../Freeze/DBI.h:21:16: db.h: No such file or directory

    What resource is my system lacking?
  • mes
    mes California
    This error means that either BerkeleyDB is not installed on your system, or that DB_HOME is not set to point at its installation directory.

    - Mark
  • marc
    marc Florida
    db.h is a header file from Berkeley DB. You can either download the source from and build it yourself, or check if your Linux distribution has an RPM (or whatever format Mandrake uses) for Berkeley DB.

    After installation, you must set DB_HOME, so that Ice finds Berkeley DB on your system.
  • Success!

    I didn't have BerkleyDB, but I downloaded and build version 4.1
    Then set the variable DB_HOME to "/usr/local/BerkeleyDB.4.1".

    Now the result file, created via "make 2> result", is empty.