From: Ben Morrow on 17 Dec 2009 16:45 Quoth Ruben Safir <ruben(a)mrbrklyn.com>: > On Thu, 17 Dec 2009 18:44:12 +0000, Ruben Safir wrote: > > > It seems that the perl 5.10.1 won't compile on my system with is a new > > opensuse 11.2 > > > > > > Its dieing on this line > > > > make[1]: Entering directory `/home/ruben/Downloads/perl-5.10.1/ext/ > > ODBM_File' > > Skip ../../lib/ODBM_File.pm (unchanged) ../../miniperl "-I../../lib" > > "-I../../lib" ../../lib/ExtUtils/xsubpp - noprototypes -typemap > > ../../lib/ExtUtils/typemap -typemap typemap ODBM_File.xs > ODBM_File.xsc > > && mv ODBM_File.xsc ODBM_File.c gcc -c -D_REENTRANT -D_GNU_SOURCE > > -fno-strict-aliasing -pipe -fstack- protector -I/usr/local/include > > -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -DVERSION=\"1.07\" > > -DXS_VERSION=\"1.07\" -fPIC "-I../.." ODBM_File.c > > ODBM_File.xs: In function 'XS_ODBM_File_DESTROY': ODBM_File.xs:124: > > error: too few arguments to function 'dbmclose' make[1]: *** > > [ODBM_File.o] Error 1 > > make[1]: Leaving directory `/home/ruben/Downloads/perl-5.10.1/ext/ > > ODBM_File' > > Unsuccessful make(ext/ODBM_File): code=512 at make_ext.pl line 360. > > make: *** [lib/auto/ODBM_File/ODBM_File.so] Error 2 > > FWIW > http://www.gossamer-threads.com/lists/perl/porters/234587 > > > No I need to figure out where I should put the instruction > > add -Dnoextensions=ODBM_File > > does that mean > > ./Configure -dDnoextensions=ODBM_File ./Configure -Dnoextensions=ODBM_File -des is probably what you want (assuming you just used '-d' before). Generally you always want '-des', unless you want an interactive Configure. Ben
From: Ben Morrow on 17 Dec 2009 18:43
Quoth Ruben Safir <ruben(a)mrbrklyn.com>: > On Thu, 17 Dec 2009 21:33:15 +0000, Ruben Safir wrote: > > On Thu, 17 Dec 2009 20:43:51 +0000, Ben Morrow wrote: > >> Quoth Ruben Safir <ruben(a)mrbrklyn.com>: > >>> It seems that the perl 5.10.1 won't compile on my system with is a new > >>> opensuse 11.2 > >>> > >>> Its dieing on this line > >>> > >>> make[1]: Entering directory `/home/ruben/Downloads/perl-5.10.1/ext/ > >>> ODBM_File' > >>> Skip ../../lib/ODBM_File.pm (unchanged) ../../miniperl "-I../../lib" > >>> "-I../../lib" ../../lib/ExtUtils/xsubpp - noprototypes -typemap > >>> ../../lib/ExtUtils/typemap -typemap typemap ODBM_File.xs > > >>> ODBM_File.xsc && mv ODBM_File.xsc ODBM_File.c gcc -c -D_REENTRANT > >>> -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack- protector > >>> -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 > >>> -DVERSION=\"1.07\" -DXS_VERSION=\"1.07\" -fPIC "-I../.." ODBM_File.c > >>> ODBM_File.xs: In function 'XS_ODBM_File_DESTROY': ODBM_File.xs:124: > >>> error: too few arguments to function 'dbmclose' make[1]: *** > >>> [ODBM_File.o] Error 1 > >>> make[1]: Leaving directory `/home/ruben/Downloads/perl-5.10.1/ext/ > >>> ODBM_File' > >>> Unsuccessful make(ext/ODBM_File): code=512 at make_ext.pl line 360. > >>> make: *** [lib/auto/ODBM_File/ODBM_File.so] Error 2 > >>> > >>> > >>> in the ODBM module. Any clues on a fix? > >> > >> Well, if you don't need ODBM then just re-Configure perl and omit ODBM > >> from the list of extensions to build. Make sure you start in a clean > >> directory, or remove Policy.sh before starting. > >> > >> Otherwise: where are you getting your <dbm.h> from? dbmclose should be > >> int dbmclose(void); if you have some GDBM passthrough with a different > >> prototype that isn't going to work. > >> > >> You could also take this question to perl5-porters(a)perl.org, which is > >> the list for discussing perl development (as opposed to Perl > >> development). > > > > I don't know where the dbm is coming or going to. The easiest way to find out is: - rebuild with ODBM_File included, and wait for it to fail, - cd to the ext/ODBM_File directory, - type 'make ODBM_File.i', - search through ODBM_File.i for 'dbm.h', and check the full path, - find out where you got that file from (ask rpm, perhaps). > Actually, I'm wondering if this might be why CPAN is failing. Does it > use a Berkleys Database to keep track of modules? ODBM is not the same as Berkely DB. The normal Perl interface to bdb is DB_File, though there is a more complete BerkelyDB module on CPAN. I seriously doubt CPAN.pm uses ODBM_File. If anything, it might use dbmopen/AnyDBM_File, but since that will choose ODBM *last* of the available options it's unlikely it would end up using it. Unless you have some code that asks for ODBM_File specifically, I'd just build a perl without it. I'm fairly certain all you'd end up with is a compatibility layer from some other DBM library (probably GDBM) anyway. Ben |