猿丸です。

On Tue, Jul 11, 2006 at 01:58:56AM JST, "Hong Chen" wrote:
> 猿丸 さん
> 
> ご教示のスクリプトを実行してみました、結果がどちらも
>  Can't locate loadable object for module Digest::SHA1 in @INC
> しか読みとれませんので、是非ご指導願います。
> (envとktrace 両方出力、長文失礼します。)
> 
> >env PERL_DL_DEBUG=1 perl -e 'use Digest::SHA1;'
> DynaLoader.pm loaded (/usr/local/lib/perl5/5.8.8/BSDPAN
> /usr/local/lib/perl5/site_perl/5.8.8/mach
> /usr/local/lib/perl5/site_perl/5.8.8 /usr/local/lib/perl5/site_perl
> /usr/local/lib/perl5/5.8.8/mach /usr/local/lib/perl5/5.8.8 ., /usr/lib
> /usr/local/lib /usr/local/pgsql/lib)
> DynaLoader::bootstrap for Digest::SHA1 (auto/Digest/SHA1/SHA1.so)
> dl_findfile(-L/usr/local/lib/perl5/5.8.8/BSDPAN -L/usr/local/lib/perl5/site_
> perl/5.8.8/mach -L/usr/local/lib/perl5/site_perl/5.8.8 -L/usr/local/lib/perl
> 5/site_perl -L/usr/local/lib/perl5/5.8.8/mach -L/usr/local/lib/perl5/5.8.8 -
> L. SHA1)
>  checking in /usr/local/lib/perl5/5.8.8/BSDPAN for SHA1.so
>  checking in /usr/local/lib/perl5/5.8.8/BSDPAN for SHA1.so
>  checking in /usr/local/lib/perl5/5.8.8/BSDPAN for libSHA1.so
>  checking in /usr/local/lib/perl5/5.8.8/BSDPAN for SHA1
>  checking in /usr/local/lib/perl5/site_perl/5.8.8/mach for SHA1.so
>  checking in /usr/local/lib/perl5/site_perl/5.8.8/mach for SHA1.so
>  checking in /usr/local/lib/perl5/site_perl/5.8.8/mach for libSHA1.so
>  checking in /usr/local/lib/perl5/site_perl/5.8.8/mach for SHA1
(以下略)

  なんでうまくいかないのかよくわからないのですが、下記の変更をし
て、もういちど 
env PERL_DL_DEBUG=1 perl -e 'use Digest::SHA1;'
の出力をみせてもらえますか?  私のところだと
shimako% env PERL_DL_DEBUG=1 perl -e 'use Digest::SHA1;'                        
DynaLoader.pm loaded (/usr/local/lib/perl5/5.8.8/BSDPAN 
/usr/local/lib/perl5/site_perl/5.8.8/mach /usr/local/lib/perl5/site_perl/5.8.8 
/usr/local/lib/perl5/site_perl/5.8.7 /usr/local/lib/perl5/site_perl/5.005 
/usr/local/lib/perl5/site_perl /usr/local/lib/perl5/5.8.8/mach 
/usr/local/lib/perl5/5.8.8 ., /usr/lib /usr/local/lib)
DynaLoader::bootstrap for Digest::SHA1 (auto/Digest/SHA1/SHA1.so)
/usr/local/lib/perl5/5.8.8/BSDPAN
/usr/local/lib/perl5/5.8.8/BSDPAN/auto/Digest/SHA1
/usr/local/lib/perl5/site_perl/5.8.8/mach
/usr/local/lib/perl5/site_perl/5.8.8/mach/auto/Digest/SHA1
/usr/local/lib/perl5/site_perl/5.8.8/mach/auto/Digest/SHA1/SHA1.so
って感じになります。

  よろしくおねがいします。

--- /usr/local/lib/perl5/5.8.8/mach/DynaLoader.pm~      Wed Jul 12 09:43:21 2006
+++ /usr/local/lib/perl5/5.8.8/mach/DynaLoader.pm       Wed Jul 12 09:42:23 2006
@@ -168,6 +168,7 @@
        if $dl_debug;
 
     foreach (@INC) {
+       print $_ . "\n";
        chop($_ = VMS::Filespec::unixpath($_)) if $Is_VMS;
        my $dir;
        if ($Is_MacOS) {
@@ -181,10 +182,12 @@
            $dir = "$_/auto/$modpname";
        }
        
+       print $dir . "\n";
        next unless -d $dir; # skip over uninteresting directories
        
        # check for common cases to avoid autoload of dl_findfile
        my $try = $Is_MacOS ? "$dir:$modfname.$dl_dlext" : 
"$dir/$modfname.$dl_dlext";
+       print $try . "\n";
        last if $file = ($do_expand) ? dl_expandspec($try) : ((-f $try) && 
$try);
        
        # no luck here, save dir for possible later dl_findfile search

--
sarumaru

メールによる返信