[maker-devel] Using GDBM_File instead of DB_File

Mikael Brandström Durling mikael.durling at slu.se
Thu May 31 06:34:30 MDT 2012


Hello,

I've been struggling for a few days to get maker up and running with MPI on a debian squeeze system. Compiling a new perl 5.16 exclusively for maker I wound down to that the segfaults came from DB_File. Even by recomiling and updating that module, nothing worked. After checking for dependencies on DB_File in maker, I concluded that the only dependency was through the GI::localize_file, which expects the FastaDB to be instantiated with DB_File. However, FastaDB can run on GDBM_File too. I patched the calls to GI::localize_file in maker to handle the .pag/.dir extensions used by GDBM (below). With this patch applied maker is running for me, even when I have deleted the DB_File module from the perl path and made sure that GDBM_File is installed. My basic question is if there is any other dependency for DB_File which I have missed which may break things?

cheers,
Mikael

--- maker.orig	2012-03-30 15:48:05.000000000 +0200
+++ maker	2012-05-31 10:35:30.253022648 +0200
@@ -512,7 +515,12 @@
 }
 if($size > 1){
     carp "Calling GI::localize_file" if($main::debug);
-    GI::localize_file("$gdbfile.index");
+    if( -f "$gdbfile.index.dir" ){
+	GI::localize_file("$gdbfile.index.dir");
+	GI::localize_file("$gdbfile.index.pag");
+    }else{
+    	GI::localize_file("$gdbfile.index");
+    }
     carp "Calling GI::localize_file" if($main::debug);
     $gdbfile = GI::localize_file($gdbfile);
 }





More information about the maker-devel mailing list