使用5.16.1版perl构建perl模块Proc::ProcessTable,但在";“进行测试”;

使用5.16.1版perl构建perl模块Proc::ProcessTable,但在";“进行测试”;,perl,perl-module,Perl,Perl Module,我正在使用perl 5.16.1构建Proc::ProcessTable 生成的输出: Skip blib/lib/Proc/ProcessTable.pm (unchanged) Skip blib/lib/Proc/Killall.pm (unchanged) Skip blib/lib/Proc/example.pl (unchanged) Skip blib/lib/Proc/Killfam.pm (unchanged) gmake[1]: Entering directory `/jx

我正在使用perl 5.16.1构建Proc::ProcessTable

生成
的输出:

Skip blib/lib/Proc/ProcessTable.pm (unchanged)
Skip blib/lib/Proc/Killall.pm (unchanged)
Skip blib/lib/Proc/example.pl (unchanged)
Skip blib/lib/Proc/Killfam.pm (unchanged)
gmake[1]: Entering directory `/jxu/tmp/Proc-ProcessTable-0.45/Process'
Skip ../blib/lib/Proc/ProcessTable/Process.pm (unchanged)
Manifying ../blib/man3/Proc::ProcessTable::Process.3
gmake[1]: Leaving directory `/jxu/tmp/Proc-ProcessTable-0.45/Process'
gcc -c    -D_REENTRANT -fno-strict-aliasing -pipe  -DPERL_USE_SAFE_PUTENV -O    -DVERSION=\"0.45\"  -DXS_VERSION=\"0.45\" -fPIC "-I/opt/VRTSperl/lib/5.16.1/i86pc-solaris-thread-multi/CORE"  -DPROC_FS ProcessTable.c
gcc -c    -D_REENTRANT -fno-strict-aliasing -pipe  -DPERL_USE_SAFE_PUTENV -O    -DVERSION=\"0.45\"  -DXS_VERSION=\"0.45\" -fPIC "-I/opt/VRTSperl/lib/5.16.1/i86pc-solaris-thread-multi/CORE"  -DPROC_FS OS.c
Running Mkbootstrap for Proc::ProcessTable ()
chmod 644 ProcessTable.bs
rm -f blib/arch/auto/Proc/ProcessTable/ProcessTable.so
gcc  -G -L/usr/local/lib OS.o  ProcessTable.o  -o blib/arch/auto/Proc/ProcessTable/ProcessTable.so      \
        \

chmod 755 blib/arch/auto/Proc/ProcessTable/ProcessTable.so
cp ProcessTable.bs blib/arch/auto/Proc/ProcessTable/ProcessTable.bs
chmod 644 blib/arch/auto/Proc/ProcessTable/ProcessTable.bs
Manifying blib/man3/Proc::Killall.3
Manifying blib/man3/Proc::ProcessTable.3
Manifying blib/man3/Proc::Killfam.3
gmake[1]: Entering directory `/jxu/tmp/Proc-ProcessTable-0.45/Process'
gmake[1]: Leaving directory `/jxu/tmp/Proc-ProcessTable-0.45/Process'
PERL_DL_NONLAZY=1 /opt/VRTSperl/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/process.t .. Not a CODE reference at /opt/VRTSperl/lib/5.16.1/i86pc-solaris-thread-multi/DynaLoader.pm line 213.
END failed--call queue aborted at /jxu/tmp/Proc-ProcessTable-0.45/blib/lib/Proc/ProcessTable.pm line 213.
Compilation failed in require at t/process.t line 9.
BEGIN failed--compilation aborted at t/process.t line 9.
t/process.t .. Dubious, test returned 2 (wstat 512, 0x200)
Failed 3/3 subtests 

Test Summary Report
-------------------
t/process.t (Wstat: 512 Tests: 0 Failed: 0)
  Non-zero exit status: 2
  Parse errors: Bad plan.  You planned 3 tests but ran 0.
Files=1, Tests=0,  0 wallclock secs ( 0.03 usr  0.01 sys +  0.04 cusr  0.00 csys =  0.08 CPU)
Result: FAIL
Failed 1/1 test programs. 0/0 subtests failed.
*** Error code 2
make: Fatal error: Command failed for target `test_dynamic'
看起来还可以

进行测试
的输出:

Skip blib/lib/Proc/ProcessTable.pm (unchanged)
Skip blib/lib/Proc/Killall.pm (unchanged)
Skip blib/lib/Proc/example.pl (unchanged)
Skip blib/lib/Proc/Killfam.pm (unchanged)
gmake[1]: Entering directory `/jxu/tmp/Proc-ProcessTable-0.45/Process'
Skip ../blib/lib/Proc/ProcessTable/Process.pm (unchanged)
Manifying ../blib/man3/Proc::ProcessTable::Process.3
gmake[1]: Leaving directory `/jxu/tmp/Proc-ProcessTable-0.45/Process'
gcc -c    -D_REENTRANT -fno-strict-aliasing -pipe  -DPERL_USE_SAFE_PUTENV -O    -DVERSION=\"0.45\"  -DXS_VERSION=\"0.45\" -fPIC "-I/opt/VRTSperl/lib/5.16.1/i86pc-solaris-thread-multi/CORE"  -DPROC_FS ProcessTable.c
gcc -c    -D_REENTRANT -fno-strict-aliasing -pipe  -DPERL_USE_SAFE_PUTENV -O    -DVERSION=\"0.45\"  -DXS_VERSION=\"0.45\" -fPIC "-I/opt/VRTSperl/lib/5.16.1/i86pc-solaris-thread-multi/CORE"  -DPROC_FS OS.c
Running Mkbootstrap for Proc::ProcessTable ()
chmod 644 ProcessTable.bs
rm -f blib/arch/auto/Proc/ProcessTable/ProcessTable.so
gcc  -G -L/usr/local/lib OS.o  ProcessTable.o  -o blib/arch/auto/Proc/ProcessTable/ProcessTable.so      \
        \

chmod 755 blib/arch/auto/Proc/ProcessTable/ProcessTable.so
cp ProcessTable.bs blib/arch/auto/Proc/ProcessTable/ProcessTable.bs
chmod 644 blib/arch/auto/Proc/ProcessTable/ProcessTable.bs
Manifying blib/man3/Proc::Killall.3
Manifying blib/man3/Proc::ProcessTable.3
Manifying blib/man3/Proc::Killfam.3
gmake[1]: Entering directory `/jxu/tmp/Proc-ProcessTable-0.45/Process'
gmake[1]: Leaving directory `/jxu/tmp/Proc-ProcessTable-0.45/Process'
PERL_DL_NONLAZY=1 /opt/VRTSperl/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/process.t .. Not a CODE reference at /opt/VRTSperl/lib/5.16.1/i86pc-solaris-thread-multi/DynaLoader.pm line 213.
END failed--call queue aborted at /jxu/tmp/Proc-ProcessTable-0.45/blib/lib/Proc/ProcessTable.pm line 213.
Compilation failed in require at t/process.t line 9.
BEGIN failed--compilation aborted at t/process.t line 9.
t/process.t .. Dubious, test returned 2 (wstat 512, 0x200)
Failed 3/3 subtests 

Test Summary Report
-------------------
t/process.t (Wstat: 512 Tests: 0 Failed: 0)
  Non-zero exit status: 2
  Parse errors: Bad plan.  You planned 3 tests but ran 0.
Files=1, Tests=0,  0 wallclock secs ( 0.03 usr  0.01 sys +  0.04 cusr  0.00 csys =  0.08 CPU)
Result: FAIL
Failed 1/1 test programs. 0/0 subtests failed.
*** Error code 2
make: Fatal error: Command failed for target `test_dynamic'

谢谢大家!

这不是一个完整的答案

错误是DynaLoader.pm第213行报告的“非代码参考”:

  boot:
    my $xs = dl_install_xsub("${module}::bootstrap", $boot_symbol_ref, $file);

    # See comment block above

    push(@dl_shared_objects, $file); # record files loaded

    &$xs(@args);   # <- line 213
启动:
my$xs=dl_install_xsub(${module}::bootstrap“,$boot_symbol_ref,$file);
#请参见上面的注释块
推送(@dl_共享对象,$file);#已加载的记录文件
&$xs(@args)#