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! Brad 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. ftp://tug2.cs.umb.edu/tex-archive/web/c_cpp/cweb/ 2. PCRE (Perl C Regular Expression Library): ftp://ftp.cus.cam.ac.uk/pub/software/programs/pcre/ 3. libunicode-0.5: http://www.bowerbird.com.au/download.shtml 4. Finally (whew!), XDBM: http://www.bowerbird.com.au/download.shtml 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 problems! 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! Brad