The trouble you're having might be due to the gdbm database for your
collection being incompatible with Windows.
After you build your collection on Mac OSX there should be a file called
something like gsdl/collect/your-collection/index/text/your-collection.bdb
(where "your-collection" is the name you've given your collection). This
file is the GDBM database containing all the metadata and such for your
collection. Unfortunately GDBM is endian specific so building your
collection on a big-endian computer (e.g. Mac OS X) creates a GDBM database
that won't work on a little endian machine (e.g. Windows).
What you need to do is to create a little-endian version of the GDBM
database, call it your-collection.ldb (as opposed to your-collection.bdb for
the big-endian file) and put it in the your-collection/index/text folder of
your exported collection.
The easiest way to create a little-endian version of your GDBM is to first
convert the big-endian file to text on a big endian machine, then copy the
text file to a little-endian machine and convert it to a little-endian GDBM.
To do that follow these steps:
1. On your Mac OS X machine open a shell and change directory to your gsdl
2. There should be a program in $GSDLHOME/bin/darwin called db2txt. Run that
program in the following way to convert your GDBM database to a plain text
db2txt your-collection.bdb > your-collection.bdb.txt
This should create a "your-collection.bdb.txt" file that's a plain text
version of the "your-collection.bdb" GDBM database.
3. Copy the text file to a windows box.
4. On the windows box, in $GSDLHOME/bin/windows, there should be a program
called txt2db.exe. Use this program to convert your text file to a
little-endian GDBM database. Use a command like the following
txt2db your-collection.ldb < your-collection.bdb.txt
5. Copy the your-collection.ldb file you created back to your Mac OS X
machine and put it in the gsdl/collect/your-collection/index/text folder
(i.e. the same folder as the your-collection.bdb file lives).
6. Re-export the collection - this time the .ldb file will be exported along
If you have trouble converting your GDBM database send it to me off list and
I'll do it for you.
----- Original Message -----
From: "Jeremy Mears" <firstname.lastname@example.org>
Sent: Thursday, February 12, 2004 11:46 PM
Subject: Re: [greenstone-users] Newbie: Various
> On 12/02/2004, at 2:45 PM, Katherine Don wrote:
> > Unzip and put this into gsdl/bin/windows for future export to cd rom
> > commands, and replace the current server.exe with this in your
> > exported_collections directory for the collection you have already
> > done.
> Thanks, i dled it but the same problem occurs. The collected files
> (with the latest server.exe) when burnt to CD on the Mac and installed
> on the PC have missing parts when you run it.
> Could it be a write permissions problem? I know when i copied across
> the collection to the PC from the mac it wouldn't work properly because
> the collection files were set to readonly on the PC. I had to manually
> go thru and turn off read only.
> I'm having problems exporting on the pc, i've copied the files needed
> to the bin/windows directory, but i still get an error in the
> I've installed the Windows Java JTRE 1.4.2, and ActivePerl 188.8.131.525.
> But when i try to run the GLI i get a Java exception error and it
> I'll try again tomorrow, but i'm frustrated that i'll have to transfer
> all my work to the PC and fiddle with that to get it working. I don't
> see why i just can't do it on the Mac. Sort of defeats the purpose of
> the MacOSX port if i have to use the PC in the end. It's a hassle
> getting all the Java and Perl stuff running on the PC, i wasted all
> yesterday dling, installing and reinstalling Java, GSDL and Perl. And
> it still doesn't work. OSX had it installed by default and once i got
> the latest GSDL version everything has been fine. I thought my
> problems were over with this job, if i can't get a installable CD to
> the client soon the brown is going to hit the fan.
> Jeremy Mears Design
> greenstone-users mailing list