It looks like DynaLoader doesn't implement dl_unload_file() on HP-UX. I can only assume this is because early versions of HP-UX didn't support shl_unload(), but it certainly looks like this patch should work. Without this patch, calling DynaLoader::dl_unload_file() on HP-UX generates this error message: ----8<---- Can't locate auto/DynaLoader/dl_unload_f.al in @INC (@INC contains: ../blib/arch ../blib/lib /home/autobld/autobld-llbertha-pmx-655/src/perl-87425/lib/5.6.1/PA-RISC1.1-thread-multi /home/autobld/autobld-llbertha-pmx-655/src/perl-87425/lib/5.6.1/PA-RISC1.1-thread-multi/home/autobld/autobld-llbertha-pmx-655/src/perl-87425/lib/5.6.1 /home/autobld/autobld-llbertha-pmx-655/src/perl-87425/lib/5.6.1/PA-RISC1.1-thread-multi /home/autobld/autobld-llbertha-pmx-655/src/perl-87425/lib/5.6.1 /home/autobld/autobld-llbertha-pmx-655/src/perl-87425/lib/site_perl/5.6.1/PA-RISC1.1-thread-multi /home/autobld/autobld-llbertha-pmx-655/src/perl-87425/lib/site_perl/5.6.1 /home/autobld/autobld-llbertha-pmx-655/src/perl-87425/lib/site_perl .) ---->8---- Neil --- ext/DynaLoader/dl_hpux.xs.~1~ Sat Jan 10 18:22:45 2004 +++ ext/DynaLoader/dl_hpux.xs Sat Jan 10 18:22:45 2004 @@ -102,6 +102,19 @@ sv_setiv( ST(0), PTR2IV(obj) ); +int +dl_unload_file(libref) + void * libref + CODE: + DLDEBUG(1,PerlIO_printf(Perl_debug_log, "dl_unload_file(%lx):\n", PTR2ul(libref))); + RETVAL = (shl_unload(libref) == 0 ? 1 : 0); + if (!RETVAL) + SaveError(aTHX_ "%s", Strerror(errno)); + DLDEBUG(2,PerlIO_printf(Perl_debug_log, " retval = %d\n", RETVAL)); + OUTPUT: + RETVAL + + void * dl_find_symbol(libhandle, symbolname) void * libhandle End of Patch.Thread Next