perl - 虫虫 | perl模块安装噩梦: no cc, gcc可以吗?

标签 perl gcc ubuntu installation bugzilla

我正在尝试安装 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/

相关文章:

gcc - 在 OS X 上交叉编译 gcc 失败 : cannot compute suffix of object files: cannot compile

linux - 如何使用 Crontab 详细创建新文件?

multithreading - 我可以像互斥锁一样使用threads::shared模块中的锁吗?

perl - 如何实时跨平台将 perl 代码输出到 STDOUT/STDERR 和文件?

c++ - noexcept 依赖于成员函数的 noexcept

c - 使用我自己的库运行 .c

perl - 嵌套的while循环似乎没有适本地保留变量

arrays - perl:为什么对匿名数组的引用是标量?

node.js - Express 不创建应用程序

java.net.SocketException : Unresolved address after DNS refreshed