[Pipet Devel] Big request from everyone

Brad Chapman chapmanb at arches.uga.edu
Wed Jan 26 08:24:40 EST 2000

Hey everyone!
	I have a favor to request from everyone on the list! As you may
know, we are hoping to use XDBM as our XML database manager. Well, I have
been working to get XDBM compiling on my FreeBSD machine, and have been
having a lot of issues that I'm still trying to work out. This got me to
thinking that likely XDBM may have issues on other machines as well, and
that it might be good to get these kinks worked out before XDBM will start
being an essential part of Loci itself. So, my request is, could everyone
who has a little time on their hands try compiling XDBM on there respective
machines? It should work fine on Linux machines (which is where is was
developed) but I worry about how well it will compile on other machines.
There is no INSTALL file, so below I'll give you everyone I know about
trying to compile it (keep in mind that I haven't actually been successful
yet--close, but not successful!). Thanks in advance for anyone who tries to
do this. You can either direct questions at me (chapmanb at arches.uga.edu) or
at the XDBM mailing list (xdbm-dev at bowerbird.com.au). Please let me know
how it works out. Thanks again!


My mediocre XDBM installation knowledge

To get XDBM working, you will need the following stuff:

1. cweb: XDBM is written using literate programming, and currently the
makefiles require cweb. The actual c source code is also distributed, so you
can probably change the makefile to use this, and not get cweb, if you want.
2. PCRE (Perl C Regular Expression Library):
3. libunicode-0.5:
4. Finally (whew!), XDBM:

Compilers etc to have:
	Currently, XDBM and linunicode work with gnu make (gmake) and the
gnu c (gcc) compiler. I tried to compile with my FreeBSD native make, and
had no luck whatsoever, so I had to switch over to gmake, and could then
get a lot farther. There is no configure script for XDBM so far.

What to do:

	Okay, once you get everything, you need to first install cweb and
pcre. I can't offer any advice for these, because there are FreeBSD ports
for them and so my install was easy. But please let me know if you have
	Once you get these installed, then it is time to compile the XDBM
specific programs. On FreeBSD the installed programs are located in
/usr/local, so I unpacked everything in this directory (using tar -xzvpf on
the two tar.gz files) and got a libunicode-0.5 directory and a
libxdbm-1.0.5 directory. Okay, now first, libunicode:
	The libunicode install worked out decently for me. I changed into
the libunicode-0.5 directory, and I had to change the Makefile to use gmake
instead of my native FreeBSD make (but some systems may have gmake as their
native make, I'm not positive) and then typed gmake, and then gmake install
in the main directory, and had no big problems.
	Now XDBM itself. This is where I had the most problems, so I can
tell you how far I got. I changed into the libxdbm-1.0.5 directory and I
first modified the Makefile in the main directory to use gmake instead of
make. Then I made two other modifications to Makefiles. In the lib
directory, I modified the Makefile INCLUDES variable as follows:

was: INCLUDES=-I../include
now: INCLUDES=-I../include ../../include

This allows my to include my /usr/local/include directory (which contains
the header files for pcre).
	Then in the utils directory, I modified the Makefile LIBDIR
variable as follows:

was: LIBDIR=-L../lib
now: LIBDIR=-L../lib -L../../lib -L../Xpat

This allowed me to link libraries in my main /usr/local/lib directory and
in the libxdbm-1.0.5/Xpat directory. (BTW, Xpat is a modified version of
the expat xml parser, I believe.).
	Well, this is as far as I got, since I now have issues with
different header files between Linux and FreeBSD.

	I hope all of this hasn't scared people off from trying it! I would
be very interested in hearing people's luck, and also hearing advice from
people who are more experienced at porting programs/writing in C then I am.
Thanks much for listening!


More information about the Pipet-Devel mailing list