【问题标题】:Installing GD module for perl - Errors when installing program为 perl 安装 GD 模块 - 安装程序时出错
【发布时间】:2016-05-04 23:18:54
【问题描述】:

我目前正在尝试在 Ubuntu 中安装 Circos。

按照说明,我已进入 bin 文件夹并运行 perl circos

我收到一条错误消息,告诉我没有安装一堆模块。我尝试安装它们,除了两个之外都可以正常工作。

当我进入cpan shell 时:

cpan[7]> install GD.pm
Running install for module 'GD'
  LDS/GD-2.56.tar.gz
  Has already been unwrapped into directory /home/qiime/.cpan/build/GD-2.56-DqDuWT
  LDS/GD-2.56.tar.gz
  '/usr/bin/perl Build.PL --installdirs site' returned status 512, not re-running

如果我从主终端运行它:

qiime@qiime-190-virtual-box:~/Documents/circos-0.69/bin$ perl -MCPAN -e 'install GD'
Reading '/home/qiime/.cpan/Metadata'
  Database was generated on Wed, 27 Jan 2016 07:41:02 GMT
Running install for module 'GD'
Checksum for /home/qiime/.cpan/sources/authors/id/L/LD/LDS/GD-2.56.tar.gz ok

==> Couldn't mkdir '/home/qiime/.cpan/build/tmp-8161': Permission denied

==> Cannot continue: Please find the reason why I cannot make the <==
==> directory                                                     <==
==> /home/qiime/.cpan/build/tmp-8161                              <==
==> and fix the problem, then retry.                              <==

所有其他(总共约 15 个模块)模块安装都没有问题。我不确定此时该怎么做。我认为这是我想念的一些简单的东西......?

为了完整起见,这是尝试运行 perl circos 时出现的错误:

qiime@qiime-190-virtual-box:~/Documents/circos-0.69/bin$ perl circos
*** REQUIRED MODULE(S) MISSING OR OUT-OF-DATE ***

You are missing one or more Perl modules, require newer versions, or some modules failed to load. Use CPAN to install it as described in this tutorial

http://www.circos.ca/documentation/tutorials/configuration/perl_and_modules

missing GD
  error Can't locate GD.pm in @INC (@INC contains: /home/qiime/Documents/circos-0.69/bin/lib /home/qiime/Documents/circos-0.69/bin/../lib /home/qiime/Documents/circos-0.69/bin /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl .) at (eval 25) line 1.
missing GD::Polyline
  error Can't locate GD/Polyline.pm in @INC (@INC contains: /home/qiime/Documents/circos-0.69/bin/lib /home/qiime/Documents/circos-0.69/bin/../lib /home/qiime/Documents/circos-0.69/bin /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl .) at (eval 26) line 1.

编辑:更新 我发现我可能没有安装libgd,所以我这样做了。我尝试在cpan shell 中运行install GD.pm

cpan[1]> install GD.pm
Reading '/home/qiime/.cpan/Metadata'
  Database was generated on Wed, 27 Jan 2016 07:41:02 GMT
Running install for module 'GD'
Checksum for /home/qiime/.cpan/sources/authors/id/L/LD/LDS/GD-2.56.tar.gz ok
Scanning cache /home/qiime/.cpan/build for sizes
............................................................................DONE
Configuring L/LD/LDS/GD-2.56.tar.gz with Build.PL
Configuring for libgd version 2.0.36.
Checking for stray libgd header files...none found.

Unknown option: installdirs
Usage: perl Build.PL [options]

Configure GD module.

 Options:
     -options       "JPEG,FT,PNG,GIF,XPM,ANIMGIF"   feature options, separated by commas
     -lib_gd_path   path            path to libgd
     -lib_ft_path   path            path to Freetype library
     -lib_png_path  path            path to libpng
     -lib_jpeg_path path            path to libjpeg
     -lib_xpm_path  path            path to libxpm
     -lib_zlib_path path            path to libpng
     -ignore_missing_gd             Ignore missing or old libgd installations and try to compile anyway

If no options are passed on the command line.  The program will
attempt to autoconfigure itself with the gdlib-config program (present
in GD versions 2.0.27 or later).  Otherwise it will prompt for these
values interactively.
Warning: No success on command[/usr/bin/perl Build.PL --installdirs site]
  LDS/GD-2.56.tar.gz
  /usr/bin/perl Build.PL --installdirs site -- NOT OK
Failed during this command:
 LDS/GD-2.56.tar.gz                           : writemakefile NO '/usr/bin/perl Build.PL --installdirs site' returned status 512

【问题讨论】:

  • 必须提出的明显问题...有人曾经说过:“99% 的 UNIX 问题与权限有关”,那么您是否以不同的用户身份运行命令? (*即 8 您是否第一次以 root 运行您的 CPAN shell,后来又以用户身份运行)。你的磁盘空间不足吗?您的 %INC 看起来有点分散,并且似乎没有遵循特定于应用程序的管理,这使得通过“远距离更新”来破坏某些东西变得更容易。
  • 我只有一个用户,并且以相同的方式运行所有内容。我检查了磁盘空间,没问题。请查看我的更新...我刚刚发现我需要先安装 libgd

标签: perl gd cpan


【解决方案1】:

正如 G. Cito 所建议的,perl 中的 GD 模块存在问题。

我使用他发布的说明以及以下内容来修复错误:

具体来说,最后一段代码是我为 perl 正确安装 GD 模块所需要的:

srctemp$ curl -O http://www.cpan.org/authors/id/L/LD/LDS/GD-2.49.tar.gz (if curl fails copy and past on your browser)
srctemp$ tar -xzvf GD-2.49.tar.gz
srctemp$ cd GD-2.49
srctemp/GD-2.49$ perl Makefile.PL
srctemp/GD-2.49$ make
srctemp/GD-2.49$ sudo make install

【讨论】:

  • 你能把“最后一点代码”复制到你的答案中吗?我无法弄清楚您具体指的是哪段代码,如果该链接失效,那么这个答案的用处将大大降低。
【解决方案2】:

这并不是真正的修复本身,但请看一下:

【讨论】:

  • 如前所述,这并不是真正的修复,但为我指明了正确的方向。请参阅我的回答,了解我是如何实际解决问题的。
猜你喜欢
  • 2015-10-09
  • 2013-06-30
  • 2017-06-08
  • 1970-01-01
  • 2017-02-04
  • 1970-01-01
  • 1970-01-01
  • 2020-08-07
  • 2014-02-18
相关资源
最近更新 更多