when XSLoader falls back to DynaLoader, it wipes out @dl_{librefs,modules}, breaking dl_unload_all_files() this was triggered by something worthing noting, some of the xs module .pms are not installed in the arch lib, for example Data::Dumper is here: /usr/local/devperl/lib/5.5.670/Data/Dumper.pm instead of the expected: /usr/local/devperl/lib/5.5.670/i686-linux/Data/Dumper.pm it seems any module with a two::level namespace is not installed into the arch lib, but those with one level (e.g. B.pm, IO.pm) are in the arch lib. --- DynaLoader.pm~ Sun Mar 5 14:31:30 2000 +++ DynaLoader.pm Sun Mar 5 15:09:03 2000 @@ -58,8 +58,8 @@ @dl_require_symbols = (); # names of symbols we need @dl_resolve_using = (); # names of files to link with @dl_library_path = (); # path to look for files -@dl_librefs = (); # things we have loaded -@dl_modules = (); # Modules we have loaded +#@dl_librefs = (); # things we have loaded +#@dl_modules = (); # Modules we have loaded # This is a fix to support DLD's unfortunate desire to relink -lc @dl_resolve_using = dl_findfile('-lc') if $dlsrc eq "dl_dld.xs";