由于我无法在非 GUI Ubuntu 服务器 Ubuntu 14.04.2 LTS 上安装 Image::Magick(阅读有关这里), 我尝试安装另一个可以通过 perl 脚本使用的图像处理工具:广东。但我还是安装失败:
~# cpan install GD
Reading '/root/.cpan/Metadata'
Database was generated on Thu, 21 May 2015 22:17:02 GMT
Running install for module 'GD'
Checksum for /root/.cpan/sources/authors/id/L/LD/LDS/GD-2.56.tar.gz ok
Configuring L/LD/LDS/GD-2.56.tar.gz with Build.PL
Configuring for libgd version 2.1.1-dev@.
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
我认为问题始于Checking for stray libgd header files...none found.
,但我不知道我做错了什么,或者我可以做些什么来改善它。
请帮忙!!
补充 (2015-09-02)
我得到了安装 libgd-gd2-perl 的提示(参见 chicks 的回答):
apt-get install libgd-gd2-perl
我按照这个说明操作(以 root 身份),但什么都没发生。执行后,cpan install GD
我得到了与上面列出的完全相同的消息。
补充 (2015-09-28)
另一个提示是安装 libgd-perl:
apt-get install libgd-perl
当我这样做时,之前安装的软件包libgd-gd2-perl
被自动删除。安装完成后,我尝试使用以下命令安装 GD
cpan install GD
最后我确实收到了与五月份和三周前完全相同的错误信息:
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
答案1
这是一个已知且开放的错误,请阅读这里,我可以重现这个错误。
我从以下网址复制了以下内容这里,所有功劳归于@Schwern。
Build.PL
正在尝试调用一个函数,prompt
但它不存在。这是因为他们最近将构建系统从 ExtUtils::MakeMaker (Makefile.PL) 切换到 Module::Build (Build.PL),但并未完全转换程序。我已经报告了错误。大多数人没有注意到这一点,因为只有当 GD 无法自行配置时才需要提示。它通过查找 gdlib-config 程序来实现这一点。如果找不到该程序,或者该程序不起作用,它会要求您提供 gdlib 配置。最好让 gdlib-config 来处理这个问题。解决此问题的最佳方法是确保 gdlib-config 位于您的 PATH 中的某个位置并且有效
gdlib-config --all
。
prompt
否则 ,用 替换所有实例Module::Build->prompt
,它应该可以工作。
以下是有问题的代码Build.pl
my $PREFIX = $lib_gd_path;
if( ! defined($lib_gd_path) )
{
warn "\n";
$PREFIX = prompt('Where is libgd installed?','/usr/lib');
}
和这里
my ($JPEG, $FT, $XPM, $GIF,$ANIMGIF,$UNCLOSEDPOLY,$FONTCONFIG,$PNG,$FTCIRCLE,$VERSION_33);
if( defined($options) )
{
$JPEG = $options =~ m/JPEG/i;
$FT = $options =~ m/FT|FREETYPE/i;
$XPM = $options =~ m/XPM/i;
$GIF = $options =~ m/GIF/i;
$PNG = $options =~ m/PNG/i;
$ANIMGIF = $GIF && $options =~ m/ANIMGIF/i;
$VERSION_33= $options =~ m/VERSION_33/i;
$UNCLOSEDPOLY = $options =~ m/UNCLOSEDPOLY/i;
$FONTCONFIG = $options =~ m/FONTCONFIG/i;
$FTCIRCLE = $options =~ m/FTCIRCLE/i;
}
else
{
warn "\nPlease choose the features that match how libgd was built:\n";
$JPEG = lc prompt('Build JPEG support?','y') eq 'y';
$PNG = lc prompt('Build PNG support?','y') eq 'y';
$FT = lc prompt('Build FreeType support?','y') eq 'y';
$GIF = lc prompt('Build GIF support?','y') eq 'y';
$ANIMGIF = $GIF && lc prompt('Build support for animated GIFs?','y') eq 'y';
$XPM = $^O !~ /^freebsd|MSWin32$/ && lc prompt('Build XPM support?','y') eq 'y';
}
等等。
答案2
尝试:
sudo apt-get install libgd-gd2-perl
安装可以解决您所缺少的依赖项的软件包。