Index: /main/trunk/greenstone2/perllib/DBDrivers/70HyphenFormat.pm
===================================================================
--- /main/trunk/greenstone2/perllib/DBDrivers/70HyphenFormat.pm	(revision 30369)
+++ /main/trunk/greenstone2/perllib/DBDrivers/70HyphenFormat.pm	(revision 30370)
@@ -46,5 +46,10 @@
 use util;
 use FileUtils;
-use parent 'DBDrivers::BaseDBDriver';
+
+use DBDrivers::BaseDBDriver;
+
+BEGIN {
+    @DBDrivers::70HyphenFormat::ISA = ('DBDrivers::BaseDBDriver');
+}
 
 use constant {
Index: /main/trunk/greenstone2/perllib/DBDrivers/BaseDBDriver.pm
===================================================================
--- /main/trunk/greenstone2/perllib/DBDrivers/BaseDBDriver.pm	(revision 30369)
+++ /main/trunk/greenstone2/perllib/DBDrivers/BaseDBDriver.pm	(revision 30370)
@@ -528,13 +528,3 @@
 
 
-## @function
-#
-sub mergeDatabases
-{
-    my $self = shift(@_);
-    gsprintf(STDERR, (caller(0))[3] . " {common.must_be_implemented}\n");
-    die("\n");
-}
-## mergeDatabase(string, string) => integer ##
-
 1;
Index: /main/trunk/greenstone2/perllib/DBDrivers/GDBM.pm
===================================================================
--- /main/trunk/greenstone2/perllib/DBDrivers/GDBM.pm	(revision 30369)
+++ /main/trunk/greenstone2/perllib/DBDrivers/GDBM.pm	(revision 30370)
@@ -29,4 +29,10 @@
 use strict;
 
+# Libraries
+use util;
+use FileUtils;
+use DBDrivers::70HyphenFormat;
+
+
 BEGIN
 {
@@ -34,10 +40,6 @@
         die("Error! Environment not prepared. Have you sourced setup.bash?\n");
     }
+    @DBDrivers::GDBM::ISA = ('DBDrivers::70HyphenFormat');
 }
-
-# Libraries
-use util;
-use FileUtils;
-use parent 'DBDrivers::70HyphenFormat';
 
 
@@ -50,5 +52,5 @@
     $self->{'default_file_extension'} = 'gdb';
     # note: file separator agnostic
-    $self->{'executable_path'} = $ENV{'GSDLHOME'} . '/bin/' . $ENV{'GSDLOS'};
+    $self->{'executable_path'} = FileUtils::filenameConcatenate($ENV{'GSDLHOME'}, 'bin', $ENV{'GSDLOS'});
     $self->{'read_executable'} = 'db2txt';
     $self->{'keyread_executable'} = 'gdbmkeys';
Index: /main/trunk/greenstone2/perllib/DBDrivers/GDBMTXTGZ.pm
===================================================================
--- /main/trunk/greenstone2/perllib/DBDrivers/GDBMTXTGZ.pm	(revision 30369)
+++ /main/trunk/greenstone2/perllib/DBDrivers/GDBMTXTGZ.pm	(revision 30370)
@@ -32,8 +32,13 @@
 use util;
 use FileUtils;
-# - OO inheritence
-use parent 'DBDrivers::70HyphenFormat';
+use DBDrivers::70HyphenFormat;
+
+BEGIN
+{
+    @DBDrivers::GDBMTXTGZ::ISA = ('DBDrivers::70HyphenFormat');
+}
 
 
+## Constructor
 sub new
 {
@@ -43,5 +48,5 @@
     $self->{'default_file_extension'} = 'txt.gz';
     # note: file separator agnostic
-    $self->{'executable_path'} = $ENV{'GSDLHOME'} . '/bin/' . $ENV{'GSDLOS'};
+    $self->{'executable_path'} = &FileUtils::filenameConcatenate($ENV{'GSDLHOME'}, 'bin', $ENV{'GSDLOS'});
     $self->{'read_executable'} = 'gzip --decompress --to-stdout';
     $self->{'keyread_executable'} = $self->{'read_executable'};
Index: /main/trunk/greenstone2/perllib/DBDrivers/JDBM.pm
===================================================================
--- /main/trunk/greenstone2/perllib/DBDrivers/JDBM.pm	(revision 30369)
+++ /main/trunk/greenstone2/perllib/DBDrivers/JDBM.pm	(revision 30370)
@@ -32,6 +32,5 @@
 use util;
 use FileUtils;
-# - OO inheritence
-use parent 'DBDrivers::70HyphenFormat';
+use DBDrivers::70HyphenFormat;
 
 sub BEGIN
@@ -40,4 +39,5 @@
         die("Error! Environment must be prepared by sourcing setup.bash\n");
     }
+    @DBDrivers::JDBM::ISA = ('DBDrivers::70HyphenFormat');
 }
 
@@ -58,4 +58,6 @@
     # Massage paths for Cygwin. Away to run a java program, using a binary that
     # is native to Windows, so need Windows directory and path separators
+    # Note: this is done after the util::pathname_cat as that fuction can also
+    # (incorrectly) change file separators.
     if ($^O eq "cygwin") {
 	$classpath = `cygpath -wp "$classpath"`;
