我正在尝试安装 Bugzilla。我不记得有这么困难。我们在云端有一个 ubuntu 服务器,一开始我尝试通过rackspace UI进行安装。这不起作用,所以我通过 ssh 登录并实际下载了 tarball 以老式方式执行此操作。
但是,似乎有三个 Perl 模块存在安装问题。我已经尝试了我所知道的一切来让它们安装,但我却不知所措。我尝试在谷歌上搜索一些答案,但我要么没有使用正确的术语,要么这对我的情况来说确实是独一无二的。
三个有问题的 perl 模块未通过 checksetup.pl:
/usr/bin/perl install-module.pl DateTime
/usr/bin/perl install-module.pl DateTime::TimeZone
/usr/bin/perl install-module.pl Template
当我尝试安装其中任何一个时,它们都严重失败,显然是因为未安装 cc 编译器(见下文)。当我在APT下查找cc包时,我只能找到gcc。这是否足够,我是否需要将 gcc 别名为 cc 才能使这些安装正常工作?
/usr/bin/perl /usr/local/share/perl/5.10.1/ExtUtils/xsubpp -typemap /usr/share/perl/5.10/ExtUtils/typemap Stash.xs > Stash.xsc && mv Stash.xsc Stash.c
cc -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -DVERSION=\"2.22\" -DXS_VERSION=\"2.22\" -fPIC "-I/usr/lib/perl/5.10/CORE" Stash.c
/bin/sh: cc: not found
make[1]: *** [Stash.o] Error 127
make[1]: Leaving directory `/root/.cpan/build/Template-Toolkit-2.22-xzQg_q/xs'
make: *** [subdirs] Error 2
ABW/Template-Toolkit-2.22.tar.gz
/usr/bin/make -- NOT OK
Skipping test because of notest pragma
Running make install
Make had returned bad status, install seems impossible
最佳答案
您不应该使用一种编译器 (cc
) 编译 Perl,然后使用另一种编译器或编译器版本 (gcc
) 编译模块,除非您碰巧知道它们的兼容性。我发现很难相信 Ubuntu 提供了用他们不提供的编译器构建的 Perl。
然后存在的问题是,您将非托管模块安装到发行版管理的 Perl 中。这……不太理想。
最简单的解决方案可能是:
apt-get install \
libdatetime-perl \
libdatetime-timezone-perl \
libtemplate-perl
另一个解决方案是安装 Perl 的本地版本,可能使用 perlbrew
.
就我个人而言,我从不使用 Perl 系统。它首先满足系统的需求(不是我的需求),这会导致问题。在这种情况下,由于发行版确实提供了您需要的软件包,因此只需安装这些软件包就可以了。
关于perl - 虫虫 | perl模块安装噩梦: no cc, gcc可以吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7575236/