Archived
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 libxerces-c.so.
I have a libxerces-c1_1.so file on my system, so I created a symbolic link to it
to create the needed libxerces-c.so "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?
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 libxerces-c.so.
I have a libxerces-c1_1.so file on my system, so I created a symbolic link to it
to create the needed libxerces-c.so "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?
0
Comments
-
Hi Jeff,
Did you set XERCESC_HOME to the appropriate directory so that the linker can find $(XERCESC_HOME)/lib/libxerces-c.so?
- Mark0 -
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.
Thanks.
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?0 -
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.
- Mark0 -
db.h is a header file from Berkeley DB. You can either download the source from http://www.sleepycat.com 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.0 -
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.0