安装 perl GD 模块的问题
Posted
技术标签:
【中文标题】安装 perl GD 模块的问题【英文标题】:Problems in installing perl GD module 【发布时间】:2013-07-17 05:26:58 【问题描述】:我在RHEL 6
和perl version is 5.10.1
上使用perl Module Manager
installer
起初,当我尝试安装 GD
模块时,它显示我缺少一些依赖项。安装这些依赖项后,我收到以下错误。
Can't load '/usr/local/lib64/perl5/auto/GD/GD.so' for module GD: libgd.so.3:
cannot open shared object file: No such file or directory at
/usr/lib64/perl5/DynaLoader.pm line 200. at -e line 1
Compilation failed in require at -e line 1.
BEGIN failed--compilation aborted at -e line 1.
================================================================
Module GD Installation Failed..!!
=================================================================
ldd /usr/local/lib64/perl5/auto/GD/GD.so
命令的输出如下:
linux-vdso.so.1 => (0x00007fff3ffff000)
libjpeg.so.62 => /usr/lib64/libjpeg.so.62 (0x00007f43ba4f5000)
libz.so.1 => /lib64/libz.so.1 (0x00007f43ba2e0000)
libm.so.6 => /lib64/libm.so.6 (0x00007f43ba05b000)
libpng12.so.0 => /usr/lib64/libpng12.so.0 (0x00007f43b9e35000)
libfreetype.so.6 => /usr/lib64/libfreetype.so.6 (0x00007f43b9b99000)
libfontconfig.so.1 => /usr/lib64/libfontconfig.so.1 (0x00007f43b9962000)
libgd.so.3 => not found
libc.so.6 => /lib64/libc.so.6 (0x00007f43b95e3000)
libexpat.so.1 => /lib64/libexpat.so.1 (0x00007f43b93ba000)
/lib64/ld-linux-x86-64.so.2 (0x0000003c27400000)
【问题讨论】:
什么是 perlmod 安装程序?我从来没听说过。 - 错误消息表明缺少 libgd.so.3。安装提供这个库的包。ldd /usr/local/lib64/perl5/auto/GD/GD.so
的输出是什么?这里有什么遗漏吗?
如果你的perlmod installer
是this,我的建议是远离它。这是一个愚蠢的小技巧,完全是多余的,并且会因大量 cpan 模块而失败。请使用cpan
、cpanm
或cpanplus
。
是的,我正在使用您提到的相同安装程序
【参考方案1】:
安装gd
包:
yum install gd
它可以在 rhel-6-server-rpms 存储库中找到。
请告诉我们perlmod installer
是什么。
【讨论】:
当我给出这个时,我收到消息 RHN is not supported 它是 Perl 模块管理器,我没有 RHN 支持使用 yum 安装【参考方案2】:GD 模块已经在标准包存储库中可供您使用。
$ repoquery -i perl-GD
Name : perl-GD
Version : 2.35
Release : 2.el5
Architecture: x86_64
Size : 443667
Packager : Fedora Project <http://bugzilla.redhat.com/bugzilla>
Group : Development/Libraries
URL : http://search.cpan.org/dist/GD/
Repository : epel
Summary : Perl interface to the GD graphics library
Description :
This is a autoloadable interface module for GD, a popular library
for creating and manipulating PNG files. With this library you can
create PNG images on the fly or modify existing files.
使用yum
安装它。
# yum install perl-GD
【讨论】:
【参考方案3】:GD 需要一些开发包才能编译。我已经有一段时间没有这样做了,但我认为这个列表是完整的:
libgd2-perl libgd2-xpm libgd2-xpm-dev libpng12-dev libjpeg62-dev libtiff4-dev包中的数字是版本号。您可能需要更改它们以获取最新版本。
对于 Debian 及其衍生产品:sudo apt-get install libgd2-perl ...
对于 RHEL:sudo yum install libgd2-perl ...
【讨论】:
请给我一些 yum 安装程序的替代方案,因为它在我的系统中不起作用。 我使用 Linux Mint。它的安装程序是apt-get
您必须找到适合您系统的安装程序。你的操作系统是什么?
我使用的操作系统是Redhat 6.0【参考方案4】:
我(几乎)遇到了同样的问题。 GD 模块的“5/auto/GD/GD.so”:
libpng16.so.16: cannot open shared object file: No such file or directory at /usr/lib64/perl5/DynaLoader.pm line 200.'
跑ldd /usr/local/lib64/perl5/auto/GD/GD.so
得到:
linux-vdso.so.1 => (0x00007fffdefe2000)
libz.so.1 => /lib64/libz.so.1 (0x00007f6726e33000)
libm.so.6 => /lib64/libm.so.6 (0x00007f6726baf000)
libpng16.so.16 => not found
libgd.so.3 => not found
libc.so.6 => /lib64/libc.so.6 (0x00007f672681b000)
/lib64/ld-linux-x86-64.so.2 (0x00000037ff000000)
看到所有的 .so 文件都在 /lib64 中。
跑:
find / -name libpng16.so.16 2>/dev/null
fine / -name libgd.so.3 2>/dev/null
cd /lib64
sudo ln -s <fullpath_to_libpng16.so.16> libpng16.so.16
sudo ln -s <fullpath_to_libgd.so.3> libgd.so.3
问题解决了!!!
【讨论】:
以上是关于安装 perl GD 模块的问题的主要内容,如果未能解决你的问题,请参考以下文章
使用 Perl/GD 创建图像并将其直接插入到 Excel 工作簿中?