perl 安装Parse::Pidl时出现“找不到Parse/Pidl/IDL.pm“错误

ha5z0ras  于 2022-11-30  发布在  Perl
关注(0)|答案(1)|浏览(179)

我在尝试安装Parse::Pidl模块时遇到了一个错误。似乎在下载的存档文件Parse-Pidl-0.02.tar.gz中缺少IDL.pm模块(我认为它应该在Parse-Pidl-0.02.tar.gz中,但不确定)
这是在Linux 5.14.21(opensuse)上为x86_64-linux-thread-multi构建的perl v5.26.1版本

cpan Parse::Pidl
Loading internal null logger. Install Log::Log4perl for logging messages
CPAN: Storable loaded ok (v2.62)
Reading '/root/.cpan/Metadata'
  Database was generated on Fri, 25 Nov 2022 07:29:01 GMT
Running install for module 'Parse::Pidl'
CPAN: Digest::SHA loaded ok (v5.96)
CPAN: Compress::Zlib loaded ok (v2.074)
Checksum for /root/.cpan/sources/authors/id/C/CT/CTRLSOFT/Parse-Pidl-0.02.tar.gz ok
CPAN: YAML loaded ok (v1.30)
CPAN: CPAN::Meta::Requirements loaded ok (v2.140)
CPAN: Parse::CPAN::Meta loaded ok (v2.150010)
CPAN: CPAN::Meta loaded ok (v2.150010)
Configuring C/CT/CTRLSOFT/Parse-Pidl-0.02.tar.gz with Makefile.PL
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for Parse::Pidl
Writing MYMETA.yml and MYMETA.json
  CTRLSOFT/Parse-Pidl-0.02.tar.gz
  /usr/bin/perl Makefile.PL -- OK
Running make for C/CT/CTRLSOFT/Parse-Pidl-0.02.tar.gz
CPAN: Module::CoreList loaded ok (v5.20170922_26)
cp lib/Parse/Pidl/Samba4/Template.pm blib/lib/Parse/Pidl/Samba4/Template.pm
cp lib/Parse/Pidl/Samba4/SWIG.pm blib/lib/Parse/Pidl/Samba4/SWIG.pm
cp lib/Parse/Pidl/Ethereal/Conformance.pm blib/lib/Parse/Pidl/Ethereal/Conformance.pm
cp lib/Parse/Pidl/Samba4/COM/Stub.pm blib/lib/Parse/Pidl/Samba4/COM/Stub.pm
cp lib/Parse/Pidl.pm blib/lib/Parse/Pidl.pm
cp lib/Parse/Pidl/Compat.pm blib/lib/Parse/Pidl/Compat.pm
cp lib/Parse/Pidl/Ethereal/NDR.pm blib/lib/Parse/Pidl/Ethereal/NDR.pm
cp lib/Parse/Pidl/Samba4/TDR.pm blib/lib/Parse/Pidl/Samba4/TDR.pm
cp lib/Parse/Pidl/Typelist.pm blib/lib/Parse/Pidl/Typelist.pm
cp lib/Parse/Pidl/Samba4/COM/Proxy.pm blib/lib/Parse/Pidl/Samba4/COM/Proxy.pm
cp lib/Parse/Pidl/Samba4/NDR/Parser.pm blib/lib/Parse/Pidl/Samba4/NDR/Parser.pm
cp lib/Parse/Pidl/Samba4/COM/Header.pm blib/lib/Parse/Pidl/Samba4/COM/Header.pm
cp lib/Parse/Pidl/ODL.pm blib/lib/Parse/Pidl/ODL.pm
cp lib/Parse/Pidl/Samba4/NDR/Client.pm blib/lib/Parse/Pidl/Samba4/NDR/Client.pm
cp lib/Parse/Pidl/Samba4/Header.pm blib/lib/Parse/Pidl/Samba4/Header.pm
cp lib/Parse/Pidl/Samba4/EJS.pm blib/lib/Parse/Pidl/Samba4/EJS.pm
cp lib/Parse/Pidl/NDR.pm blib/lib/Parse/Pidl/NDR.pm
cp lib/Parse/Pidl/Dump.pm blib/lib/Parse/Pidl/Dump.pm
cp lib/Parse/Pidl/Util.pm blib/lib/Parse/Pidl/Util.pm
cp lib/Parse/Pidl/Samba4/NDR/Server.pm blib/lib/Parse/Pidl/Samba4/NDR/Server.pm
cp pidl blib/script/pidl
"/usr/bin/perl" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/pidl
Manifying 1 pod document
Manifying 4 pod documents
  CTRLSOFT/Parse-Pidl-0.02.tar.gz
  /usr/bin/make -- OK
Running make test
PERL_DL_NONLAZY=1 "/usr/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" tests/*.pl
tests/ndr_align.pl ... Can't locate Parse/Pidl/IDL.pm in @INC (you may need to install the Parse::Pidl::IDL module) (@INC contains: /root/.cpan/build/Parse-Pidl-0.02-1/tests /root/.cpan/build/Parse-Pidl-0.02-1/tests/../lib /root/.cpan/build/Parse-Pidl-0.02-1/blib/lib /root/.cpan/build/Parse-Pidl-0.02-1/blib/arch /usr/lib/perl5/site_perl/5.26.1/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.26.1 /usr/lib/perl5/vendor_perl/5.26.1/x86_64-linux-thread-multi /usr/lib/perl5/vendor_perl/5.26.1 /usr/lib/perl5/5.26.1/x86_64-linux-thread-multi /usr/lib/perl5/5.26.1 /usr/lib/perl5/site_perl .) at /root/.cpan/build/Parse-Pidl-0.02-1/tests/Util.pm line 14.
BEGIN failed--compilation aborted at /root/.cpan/build/Parse-Pidl-0.02-1/tests/Util.pm line 14.
Compilation failed in require at tests/ndr_align.pl line 10.
BEGIN failed--compilation aborted at tests/ndr_align.pl line 10.
# Looks like your test exited with 2 before it could output anything.
tests/ndr_align.pl ... Dubious, test returned 2 (wstat 512, 0x200)
Failed 40/40 subtests 
tests/ndr_alloc.pl ... Can't locate Parse/Pidl/IDL.pm in @INC (you may need to install the Parse::Pidl::IDL module) (@INC contains: /root/.cpan/build/Parse-Pidl-0.02-1/tests /root/.cpan/build/Parse-Pidl-0.02-1/tests/../lib /root/.cpan/build/Parse-Pidl-0.02-1/blib/lib /root/.cpan/build/Parse-Pidl-0.02-1/blib/arch /usr/lib/perl5/site_perl/5.26.1/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.26.1 /usr/lib/perl5/vendor_perl/5.26.1/x86_64-linux-thread-multi /usr/lib/perl5/vendor_perl/5.26.1 /usr/lib/perl5/5.26.1/x86_64-linux-thread-multi /usr/lib/perl5/5.26.1 /usr/lib/perl5/site_perl .) at /root/.cpan/build/Parse-Pidl-0.02-1/tests/Util.pm line 14.
BEGIN failed--compilation aborted at /root/.cpan/build/Parse-Pidl-0.02-1/tests/Util.pm line 14.
Compilation failed in require at tests/ndr_alloc.pl line 10.
BEGIN failed--compilation aborted at tests/ndr_alloc.pl line 10.
# Looks like your test exited with 2 before it could output anything.
tests/ndr_alloc.pl ... Dubious, test returned 2 (wstat 512, 0x200)
Failed 40/40 subtests 
tests/ndr_array.pl ... Can't locate Parse/Pidl/IDL.pm in @INC (you may need to install the Parse::Pidl::IDL module) (@INC contains: /root/.cpan/build/Parse-Pidl-0.02-1/tests /root/.cpan/build/Parse-Pidl-0.02-1/tests/../lib /root/.cpan/build/Parse-Pidl-0.02-1/blib/lib /root/.cpan/build/Parse-Pidl-0.02-1/blib/arch /usr/lib/perl5/site_perl/5.26.1/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.26.1 /usr/lib/perl5/vendor_perl/5.26.1/x86_64-linux-thread-multi /usr/lib/perl5/vendor_perl/5.26.1 /usr/lib/perl5/5.26.1/x86_64-linux-thread-multi /usr/lib/perl5/5.26.1 /usr/lib/perl5/site_perl .) at /root/.cpan/build/Parse-Pidl-0.02-1/tests/Util.pm line 14.
BEGIN failed--compilation aborted at /root/.cpan/build/Parse-Pidl-0.02-1/tests/Util.pm line 14.
Compilation failed in require at tests/ndr_array.pl line 11.
BEGIN failed--compilation aborted at tests/ndr_array.pl line 11.
# Looks like your test exited with 2 before it could output anything.
tests/ndr_array.pl ... Dubious, test returned 2 (wstat 512, 0x200)
Failed 8/8 subtests 
tests/ndr_refptr.pl .. Can't locate Parse/Pidl/IDL.pm in @INC (you may need to install the Parse::Pidl::IDL module) (@INC contains: /root/.cpan/build/Parse-Pidl-0.02-1/tests /root/.cpan/build/Parse-Pidl-0.02-1/tests/../lib /root/.cpan/build/Parse-Pidl-0.02-1/blib/lib /root/.cpan/build/Parse-Pidl-0.02-1/blib/arch /usr/lib/perl5/site_perl/5.26.1/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.26.1 /usr/lib/perl5/vendor_perl/5.26.1/x86_64-linux-thread-multi /usr/lib/perl5/vendor_perl/5.26.1 /usr/lib/perl5/5.26.1/x86_64-linux-thread-multi /usr/lib/perl5/5.26.1 /usr/lib/perl5/site_perl .) at /root/.cpan/build/Parse-Pidl-0.02-1/tests/Util.pm line 14.
BEGIN failed--compilation aborted at /root/.cpan/build/Parse-Pidl-0.02-1/tests/Util.pm line 14.
Compilation failed in require at tests/ndr_refptr.pl line 12.
BEGIN failed--compilation aborted at tests/ndr_refptr.pl line 12.
# Looks like your test exited with 2 before it could output anything.
tests/ndr_refptr.pl .. Dubious, test returned 2 (wstat 512, 0x200)
Failed 168/168 subtests 
tests/ndr_simple.pl .. Can't locate Parse/Pidl/IDL.pm in @INC (you may need to install the Parse::Pidl::IDL module) (@INC contains: /root/.cpan/build/Parse-Pidl-0.02-1/tests /root/.cpan/build/Parse-Pidl-0.02-1/tests/../lib /root/.cpan/build/Parse-Pidl-0.02-1/blib/lib /root/.cpan/build/Parse-Pidl-0.02-1/blib/arch /usr/lib/perl5/site_perl/5.26.1/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.26.1 /usr/lib/perl5/vendor_perl/5.26.1/x86_64-linux-thread-multi /usr/lib/perl5/vendor_perl/5.26.1 /usr/lib/perl5/5.26.1/x86_64-linux-thread-multi /usr/lib/perl5/5.26.1 /usr/lib/perl5/site_perl .) at /root/.cpan/build/Parse-Pidl-0.02-1/tests/Util.pm line 14.
BEGIN failed--compilation aborted at /root/.cpan/build/Parse-Pidl-0.02-1/tests/Util.pm line 14.
Compilation failed in require at tests/ndr_simple.pl line 11.
BEGIN failed--compilation aborted at tests/ndr_simple.pl line 11.
# Looks like your test exited with 2 before it could output anything.
tests/ndr_simple.pl .. Dubious, test returned 2 (wstat 512, 0x200)
Failed 8/8 subtests 
tests/ndr_string.pl .. Can't locate Parse/Pidl/IDL.pm in @INC (you may need to install the Parse::Pidl::IDL module) (@INC contains: /root/.cpan/build/Parse-Pidl-0.02-1/tests /root/.cpan/build/Parse-Pidl-0.02-1/tests/../lib /root/.cpan/build/Parse-Pidl-0.02-1/blib/lib /root/.cpan/build/Parse-Pidl-0.02-1/blib/arch /usr/lib/perl5/site_perl/5.26.1/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.26.1 /usr/lib/perl5/vendor_perl/5.26.1/x86_64-linux-thread-multi /usr/lib/perl5/vendor_perl/5.26.1 /usr/lib/perl5/5.26.1/x86_64-linux-thread-multi /usr/lib/perl5/5.26.1 /usr/lib/perl5/site_perl .) at /root/.cpan/build/Parse-Pidl-0.02-1/tests/Util.pm line 14.
BEGIN failed--compilation aborted at /root/.cpan/build/Parse-Pidl-0.02-1/tests/Util.pm line 14.
Compilation failed in require at tests/ndr_string.pl line 11.
BEGIN failed--compilation aborted at tests/ndr_string.pl line 11.
# Looks like your test exited with 2 before it could output anything.
tests/ndr_string.pl .. Dubious, test returned 2 (wstat 512, 0x200)
Failed 16/16 subtests 
tests/parse_idl.pl ... Can't locate Parse/Pidl/IDL.pm in @INC (you may need to install the Parse::Pidl::IDL module) (@INC contains: /root/.cpan/build/Parse-Pidl-0.02-1/tests/../lib /root/.cpan/build/Parse-Pidl-0.02-1/blib/lib /root/.cpan/build/Parse-Pidl-0.02-1/blib/arch /usr/lib/perl5/site_perl/5.26.1/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.26.1 /usr/lib/perl5/vendor_perl/5.26.1/x86_64-linux-thread-multi /usr/lib/perl5/vendor_perl/5.26.1 /usr/lib/perl5/5.26.1/x86_64-linux-thread-multi /usr/lib/perl5/5.26.1 /usr/lib/perl5/site_perl .) at tests/parse_idl.pl line 10.
BEGIN failed--compilation aborted at tests/parse_idl.pl line 10.
# Looks like your test exited with 2 before it could output anything.
tests/parse_idl.pl ... Dubious, test returned 2 (wstat 512, 0x200)
Failed 51/51 subtests 

Test Summary Report
-------------------
tests/ndr_align.pl (Wstat: 512 Tests: 0 Failed: 0)
  Non-zero exit status: 2
  Parse errors: Bad plan.  You planned 40 tests but ran 0.
tests/ndr_alloc.pl (Wstat: 512 Tests: 0 Failed: 0)
  Non-zero exit status: 2
  Parse errors: Bad plan.  You planned 40 tests but ran 0.
tests/ndr_array.pl (Wstat: 512 Tests: 0 Failed: 0)
  Non-zero exit status: 2
  Parse errors: Bad plan.  You planned 8 tests but ran 0.
tests/ndr_refptr.pl (Wstat: 512 Tests: 0 Failed: 0)
  Non-zero exit status: 2
  Parse errors: Bad plan.  You planned 168 tests but ran 0.
tests/ndr_simple.pl (Wstat: 512 Tests: 0 Failed: 0)
  Non-zero exit status: 2
  Parse errors: Bad plan.  You planned 8 tests but ran 0.
tests/ndr_string.pl (Wstat: 512 Tests: 0 Failed: 0)
  Non-zero exit status: 2
  Parse errors: Bad plan.  You planned 16 tests but ran 0.
tests/parse_idl.pl (Wstat: 512 Tests: 0 Failed: 0)
  Non-zero exit status: 2
  Parse errors: Bad plan.  You planned 51 tests but ran 0.
Files=7, Tests=0,  0 wallclock secs ( 0.02 usr  0.00 sys +  0.19 cusr  0.04 csys =  0.25 CPU)
Result: FAIL
Failed 7/7 test programs. 0/0 subtests failed.
make: *** [Makefile:880: test_dynamic] Error 2
  CTRLSOFT/Parse-Pidl-0.02.tar.gz
  /usr/bin/make test -- NOT OK
//hint// to see the cpan-testers results for installing this module, try:
  reports CTRLSOFT/Parse-Pidl-0.02.tar.gz

如何完成安装有什么想法?

ni65a41a

ni65a41a1#

安装过程应该创建lib/Parse/Pidl/IDL.pm,但实际上并没有。[1]
但你可以解决这个问题。

cpan Parse::Yapp
wget https://cpan.metacpan.org/authors/id/C/CT/CTRLSOFT/Parse-Pidl-0.02.tar.gz
tar xzf Parse-Pidl-0.02.tar.gz
cd Parse-Pidl-0.02
perl Makefile.PL
yapp -s -m 'Parse::Pidl::IDL' -o lib/Parse/Pidl/IDL.pm idl.yp
make test
make install

这正是cpan所做的,另外还有两个功能:安装Parse::Yapp以提供yapp,并手动运行yapp
1.我没时间去调查原因。

相关问题