3

这是一个已升级到新的共享托管服务器(仍在运行 Linux)的 bugzilla 版本。请参阅帖子底部以获取完整的错误消息。

./checksetup.pl does not complain of any missing modules and completes successfully

有许多本地 perl 模块位于~/perl5/lib/perl5下面报告为缺失的模块中。

perl -V报告以下环境变量值(NB 已将此输出中的主文件夹的根目录替换为~

 %ENV:
    PERL5LIB="/~/perl5/lib/perl5/x86_64-linux-thread-multi:/~/perl5/lib/perl5:/~/perl5/lib/perl5/x86_64-linux-thread-multi:/~/perl5/lib/perl5"
    PERL_MM_OPT="INSTALL_BASE=/~/perl5"
  @INC:
    /~/perl5/lib/perl5/x86_64-linux-thread-multi
    /~/perl5/lib/perl5/x86_64-linux-thread-multi
    /~/perl5/lib/perl5
    /~/perl5/lib/perl5/x86_64-linux-thread-multi
    /~/perl5/lib/perl5/x86_64-linux-thread-multi
    /~/perl5/lib/perl5
    /usr/local/lib64/perl5
    /usr/local/share/perl5
    /usr/lib64/perl5/vendor_perl
    /usr/share/perl5/vendor_perl
    /usr/lib64/perl5
    /usr/share/perl5

任何帮助将非常感激。Bugzilla 是否忽略 PERL5LIB 环境变量?

Full error message is:
Can't locate Math/Random/ISAAC.pm in @INC (@INC contains: . lib /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5) at Bugzilla/RNG.pm line 28.
BEGIN failed--compilation aborted at Bugzilla/RNG.pm line 28.
Compilation failed in require at Bugzilla/Util.pm line 50.
BEGIN failed--compilation aborted at Bugzilla/Util.pm line 50.
Compilation failed in require at Bugzilla/Error.pm line 33.
BEGIN failed--compilation aborted at Bugzilla/Error.pm line 33.
Compilation failed in require at Bugzilla/Install/Filesystem.pm line 31.
BEGIN failed--compilation aborted at Bugzilla/Install/Filesystem.pm line 31.
Compilation failed in require at Bugzilla/Config.pm line 38.
BEGIN failed--compilation aborted at Bugzilla/Config.pm line 38.
Compilation failed in require at Bugzilla.pm line 38.
BEGIN failed--compilation aborted at Bugzilla.pm line 38.
Compilation failed in require at index.cgi line 34.
BEGIN failed--compilation aborted at index.cgi line 34.
4

3 回答 3

0

我认为不同之处在于您./checksetup.pl以自己的用户身份运行,而当您在可能是用户 www-data 的 Web 服务器中运行 Bugzilla 时。如果是这种情况,您需要配置您的 Web 服务器以查看~/perl5/lib/perl5.

将以下内容(在替换 foobar 之后)添加到 Apache 配置 - 如果这是您使用的 - 可能会起作用:

SETENV PERL5LIB /home/foobar/perl5/local/lib/perl5:/home/foobar/perl5/local/lib/perl5/x86_64-linux-gnu-thread-multi

可能有帮助的两篇相关文章:(由我自己发表)

于 2014-04-08T02:52:04.057 回答
0

在 Windows 的命令行上

cd c:\perl64\bin
ppm install Math-Random-ISAAC
于 2014-08-03T15:05:36.417 回答
0

此答案适用于 Windows,但您也可以将其调整为适用于 Linux。


Math::Random::ISAAC
1. 下载 Math-Random-ISAAC-1.004.tar.gz
2. 在控制台上打开“cpan”控制台
3.进入下载文件的路径

C:>cd C:\strawberry\cpan
C:\strawberry\cpan>cd Math-Random-ISAAC-1.004

4. perl Makefile.PL

C:\strawberry\cpan\Math-Random-ISAAC-1.004>perl Makefile.PL

为 Math::Random::ISAAC 编写 Makefile 编写 MYMETA.yml 和 MYMETA.json

5. 制作

C:\草莓\cpan\Math-Random-ISAAC-1.004>dmake

cp lib/Math/Random/ISAAC.pm blib\lib\Math\Random\ISAAC.pm
cp lib/Math/Random/ISAAC/PP.pm blib\lib\Math\Random\ISAAC\PP.pm

6. dmake 测试

C:\strawberry\cpan\Math-Random-ISAAC-1.004>dmake 测试
C:\strawberry\perl\bin\perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib \lib', 'blib\arch')" t/*.tt/01compile.t
........ 好
t/02sequence.t .... ... 好的
t/03memory.t .... 跳过:测试内存泄漏所需的 Test::LeakTrace
t/04uniform.t .... .... 已跳过:安装
t/05fallback.t不需要作者测试.............已跳过:Test::Without::Module 和 Math::Random::ISAAC::XS测试回退能力所需的
t/06exceptions.t ...... ok
t/release-dist-manifest.t .. 跳过:这些测试用于发布候选测试
t/release-kwalitee.t ....... 已跳过:这些测试用于候选发布测试
t/release-pod-coverage.t ...已跳过:这些测试用于候选发布测试
t/release-pod- syntax.t ..... skipped:这些测试用于发布候选测试
t/release-portability.t ....skipped:这些测试用于发布候选测试 所有测试都成功。
Files=11, Tests=607, 15 wallclock secs (0.17 usr + 0.14 sys = 0.31 CPU)
结果:PASS

7.dmake安装

C:\strawberry\cpan\Math-Random-ISAAC-1.004>dmake install 安装 C:\strawberry\perl\site\lib\Math\Random\ISAAC.pm 安装 C:\strawberry\perl\site\lib\Math\ Random\ISAAC\PP.pm 将安装信息附加到 C:\strawberry\perl\lib/perllocal.pod

这应该有效。

于 2014-04-07T21:47:54.387 回答