develooper Front page | perl.perl5.porters | Postings from August 2009


Thread Next
H.Merijn Brand
August 26, 2009 03:35
Message ID:
        Making ODBM_File (all)
make[1]: Entering directory `/pro/3gl/CPAN/perl-current/ext/ODBM_File'
make[1]: Leaving directory `/pro/3gl/CPAN/perl-current/ext/ODBM_File'
Making all in ext/ODBM_File
 make all PERL_CORE=1 LIBPERL_A=libperl.a LINKTYPE=dynamic
make[1]: Entering directory `/pro/3gl/CPAN/perl-current/ext/ODBM_File'
cc -c   -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/pro/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 `/pro/3gl/CPAN/perl-current/ext/ODBM_File'
Unsuccessful make(ext/ODBM_File): code=512 at line 360.
make: *** [lib/auto/ODBM_File/] Error 2


on OpenSUSE 11.1, dbmclose () is defined in

$ grep -P '\bdbm_?close\b' /usr/include/dbm.h
extern int      dbmclose __P((DBM *));
$ man dbmclose
No manual entry for dbmclose
$ man dbm_close
   void dbm_close (DBM *db);
   The dbm_close () function shall close a database.  The application
   shall ensure that argument db is a pointer to a dbm structure that
   has been returned from a call to dbm_open ().
$ man gdbm
   gdbm_close (dbf)
   GDBM_FILE dbf;
   dbmclose ()
   dbm_close (file)
   DBM *file;

So, *OBVIOUSLY* the man page, and the include file do not agree.
In this case, the include file is obviously wrong, but it prevents perl
to be compiled without excluding ODBM_File.

I /think/ it is possible to detect this and create a temporary copy of
the bogus include file that fixed the prototype, but is it worth the

H.Merijn Brand      Perl Monger
using & porting perl 5.6.2, 5.8.x, 5.10.x, 5.11.x on HP-UX 10.20, 11.00,
11.11, 11.23, and 11.31, OpenSuSE 10.3, 11.0, and 11.1, AIX 5.2 and 5.3. 

Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About