RuntimeError has asked for the wisdom of the Perl Monks concerning the following question:

Dear Monks,

I have RedHat 6 and Perl 5.10 shipped with it. Since a recent update NBDM fails: in my case it is an errno 17 (more precise: it is Term::Clui database that is called and fails with the ndbm error). The database was created with the correct rights, etc. and the exact same program worked correctly until the update of the system.
Do you know which might be the trouble here? Any dependencies I don't know about? I dont have much information for you but any hint is highly appreciated.
I can disable the database in Term::Clui that is not my real concern.
I am worried that the whole database mechanism in Perl might be broken...

PS: I am using version 1.8 of gdbm (the latest version according to yum).

Replies are listed 'Best First'.
Re: NDBM problem (you're using NDBM)
by Anonymous Monk on Jan 26, 2015 at 10:37 UTC

    Your problem is that you're using NDBM, or Term::Clui is using it :)

    For a series of partial explanations see AnyDBM_File , NDBM_File , dbmopen, perlport#dbmopen, https://en.wikipedia.org/wiki/Ndbm#Problems

    So, delete that file, and you're good to go, if that is acceptable

    Or, install a better DBM and let AnyDBM know about it... if that works for you

    Or install the old version of perl ... but NDBM is like the worst DBM to use :) so chances are it might not help ...

      Thank you very much for your reply. I'll do as suggested by AnyDBM_File and reorder the preferences so NDBM does not get used unless no other choice available and delete the originally created db
      BEGIN { @AnyDBM_File::ISA = qw(DB_File GDBM_File NDBM_File) } use AnyDBM_File;