GS tools that provide similar functionality to the GDBM Edit tools but based on the TDB project (from SAMBA Project). TDB has the same API as GDBM and is designed to support parallel processor. === To Install === There is, unfortunately, a chicken and the egg dependency in this extension in that it requires the GSDL common library (gsdllib.a) while Greenstone can't properly compile in TDB mode unless tdb-edit is compiled first. So you end up having to configure, compile, re-configure and re-compile to get things to work. Instructions follow: 1. SVN checkout Greenstone 2. Run configure and make as usual 3. SVN checkout tdb-edit into extensions: svn co http://svn.greenstone.org/gs2-extensions/tdb-edit/trunk/src tdb-edit 4. Run 'enable_tdb.sh' 5. Change to top-level Greenstone directory and re-run configure 6. Change back to tdb-edit directory and run 'CASCADE_MAKE.sh' 7. Finally return to top-level Greenstone directory and run make and make install === Static Library === In certain circumstances you may find that the shared object library provided by default by TDB is not sufficient. For instance, I discovered that on a cluster using automount directories (crucially for the /share/apps directory), I was not able to compile Greenstone and have Apache run because the link to the shared library couldn't be resovled by the Apache user (as it didn't automount the correct directories). I may have been able to alter the Apache configuration to solve this, but I instead decided to compile the TDB library as static. To do so: 1. Run enable_tdb.sh as usual 2. Run CASCADE_MAKE.sh as usual 3. Change directory to: /packages/tdb-1.2.9/bin/default/common/ 4. Execute: ar -cvq libtdb.a *.o 5. Execute: cp libtdb.a /linux/lib/ 6. Change directory to: /runtime-src/src/recpt/ 7. Edit Makefile and modify this line: EXT_LDFLAGS = 8. Edit Makefile and modify this line: EXT_LIBS = $(GSDL_DIR)/ext/tdb-edit/linux/lib/libtdb.a 9. Compile and install Greenstone 10. Ensure the resulting executable no longer links to libtdb as a shared library: ldd /cgi-bin/linux/library.cgi === TDB Server Configuration === If using the TDBServer version you need to include a per-collection configuration file called ''tdbserver.conf'' with this information (altered as required): serverhost localhost serverport 8191 threads 10