Perl 程序无法在 arm6 上运行,但它可以在我的 64 位计算机上运行

Perl 程序无法在 arm6 上运行,但它可以在我的 64 位计算机上运行

我试图在运行 archlinux arm 的 raspberry pi 上运行 [pisg][1],每次我尝试运行它时,都会得到:

   Root ~>pisg -cf pisg.conf
   Warning: Couldn't parse -cfg option
   Could not load pisg! Reason:
   Can't locate Pisg.pm in @INC (you may need to install the Pisg module) (@INC contains: /usr/bin/modules/ /usr/lib/perl5/site_perl /usr/share/perl5/site_perl /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5/core_perl /usr/share/perl5/core_perl .) at (eval 1) line 2.
   BEGIN failed--compilation aborted at (eval 1) line 2.

可以通过将 /usr/lib/pisg/modules/Pisg.pm 复制到上面 @INC 中列出的目录之一来修复。然后我得到

Root ~>pisg -cf pisg.conf
Warning: Couldn't parse -cfg option
Could not load pisg! Reason:
Can't locate Pisg/Common.pm in @INC (you may need to install the Pisg::Common module) (@INC contains: /usr/bin/modules/ /usr/lib/perl5/site_perl /usr/share/perl5/site_perl /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5/core_perl /usr/share/perl5/core_perl .) at /usr/lib/perl5/site_perl/Pisg.pm line 43.

无法通过将 Common.pm 链接到上述位置来修复此问题。不过,该程序在我的 archlinux 电脑上运行良好。

编辑:我从 sourceforge 下载了 pisg,它似乎运行良好……(它会下载已编译的程序或任何你用 perl 程序执行的程序,并在我下载的文件夹中运行……)还有吗?我说它在我通过电脑上的 AUR 安装时运行,我错了,我只是/忘记/我是从 sourceforge 下载的,我的错。AUR 中的软件包一定坏了或出了什么问题。

答案1

你的问题都与缺失有关Perl 模块,可以将它们视为 C 库的等价物,它们是帮助完成某些工作的工具。许多程序都使用它们,并且需要安装特定模块才能运行。

Perl 模块存在于亚太网络综合 Perl 档案网络,极客和僧侣。因此,当 Perl 程序抱怨 时Can't locate foo/bar.pm in @INC,您应该前往 CPAN 并找到相关模块。这可以从源代码安装,也可以使用各种帮助程序之一进行安装。有关安装 Perl 模块的详细说明,请参阅这里以及其中的参考文献。

简而言之,要安装 Perl 模块Pisg::Common(因为这是您缺少的模块),您可以执行以下任一操作:

  • 跑步perl -MCPAN -e 'install Pisg::Common'

  • 安装cpanm,它应该针对 arch 进行打包,但如果没有,这也应该可行(来源):

    cd /opt/
    curl https://raw.github.com/miyagawa/cpanminus/master/cpanm > cpanm
    chmod +x cpanm
    ln -s /opt/cpanm /usr/bin/
    cpanm --self-upgrade --sudo
    

    然后您可以像这样安装模块:

    cpanm Pisg::Common
    

相关内容