in reply to Re^2: What is the /auto/ directory used for? (inheritance--)
in thread What is the /auto/ directory used for?

Thus DBI would no longer produce this particularly misleading error message

I couldn't get that to work ... I may well be missing something.

I tried a variety of the changes you mentioned, but whenever I comment out (in DBI.pm) "@ISA = qw(Exporter DynaLoader);" I get:
F:\pscrpt>perl -MDBI -e "DBI::FIRSTKEY()" Can't locate object method "dl_load_flags" via package "DBI" at F:/per +lvc7/5.8.8/lib/DynaLoader.pm line 230. BEGIN failed--compilation aborted at F:/perlvc7/site/5.8.8/lib/DBI.pm +line 262. Compilation failed in require. BEGIN failed--compilation aborted.

And if I don't comment out that line of code in DBI.pm I always get:
F:\pscrpt>perl -MDBI -e "DBI::FIRSTKEY()" Can't locate auto/DBI/FIRSTKEY.al in @INC (@INC contains: F:/perlvc7/5 +.8.8/lib F:/perlvc7/site/5.8.8/lib F:/perlvc7/site/lib .) at -e line +1

I guess a patch to DBI.pm would be one simple way for me to see exactly what is required. I'd like to know how to change this behaviour and still use DynaLoader. Digest::MD5 gets it right, but it uses XSLoader instead.

Cheers,
Rob

Replies are listed 'Best First'.
Re^4: What is the /auto/ directory used for? (inheritance--)
by tye (Sage) on Aug 21, 2006 at 13:16 UTC

    You just need to add

    sub dl_load_flags { 0 }

    It'd also be good to patch DynaLoader to not require this (and to optionally export the bootstrap function).

    - tye