尝试在失败的Fedora Core 6 x86计算机上安装Linux :: Inotify。
看起来低于2.6.36的内核不支持IN_EXCL_UNLINK。这会导致安装问题。因此,我修改了源代码并尝试安装。但是cpan再次将其替换为在线仓库。
Running make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/00_load.t ..... Undefined subroutine &Linux::Inotify2::IN_EXCL_UNLINK called at /root/.cpan/build/Linux-Inotify2-2.1/blib/lib/Linux/Inotify2.pm line 431.
Compilation failed in require at t/00_load.t line 3.
BEGIN failed--compilation aborted at t/00_load.t line 3.
t/00_load.t ..... Dubious, test returned 255 (wstat 65280, 0xff00)
Failed 1/1 subtests
t/01_inotify.t .. Undefined subroutine &Linux::Inotify2::IN_EXCL_UNLINK called at /root/.cpan/build/Linux-Inotify2-2.1/blib/lib/Linux/Inotify2.pm line 431.
Compilation failed in require at t/01_inotify.t line 2.
BEGIN failed--compilation aborted at t/01_inotify.t line 2.
# Looks like your test exited with 255 before it could output anything.
t/01_inotify.t .. Dubious, test returned 255 (wstat 65280, 0xff00)
Failed 5/5 subtests
Test Summary Report
-------------------
t/00_load.t (Wstat: 65280 Tests: 1 Failed: 1)
Failed test: 1
Non-zero exit status: 255
t/01_inotify.t (Wstat: 65280 Tests: 0 Failed: 0)
Non-zero exit status: 255
Parse errors: Bad plan. You planned 5 tests but ran 0.
Files=2, Tests=1, 0 wallclock secs ( 0.01 usr 0.05 sys + 0.05 cusr 0.08 csys = 0.19 CPU)
Result: FAIL
Failed 2/2 test programs. 1/1 subtests failed.
make: *** [test_dynamic] Error 255
/usr/bin/make test -- NOT OK
Running make install
make test had returned bad status, won't install without force
是否可以解决此问题或使用CPAN本地源进行安装?
注意:编辑源代码后,使用源代码进行安装即可正常工作。
答案 0 :(得分:1)
wget https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN/Linux-Inotify2-2.1.tar.gz
tar xzf Linux-Inotify2-2.1.tar.gz
cd Linux-Inotify2-2.1
...apply change...
perl Makefile.PL
make test
make install
听起来您已经完成了此操作,所以您已经安装了它。 cpan
不会替换它(如果它看到已安装的版本(除非您使用了错误的perl
,或者除非您使用env var PERL_MB_OPT
告诉ExtUtils :: MakeMaker,否则它将替换该版本)。将该模块安装在非标准位置,并且没有通过env var PERL5LIB
)告诉CPAN。
答案 1 :(得分:0)
使用CPAN本地源进行安装吗?
cpanm
支持从本地tarball(包含修补的源代码)进行安装,请参见synopsis:
cpanm ~/dists/MyCompany-Enterprise-1.00.tar.gz # install from a local file