CPAN GD模块使用Cygwin安装失败

时间:2014-12-28 18:44:42

标签: perl cygwin gd cpan

我一直在尝试解决为什么CPAN GD模块现在无法使用Cygwin安装2天。任何帮助深表感谢。谢谢!

cpan install GD
Going to read '/home/xxxxxxxxxx/.cpan/Metadata'
  Database was generated on Sat, 27 Dec 2014 12:17:02 GMT
Running install for module 'GD'
Running make for L/LD/LDS/GD-2.56.tar.gz
Checksum for /home/xxxxxxxxxx/.cpan/sources/authors/id/L/LD/LDS/GD-2.56.tar.gz ok

  CPAN.pm: Going to build L/LD/LDS/GD-2.56.tar.gz

Configuring for libgd version 2.1.0.
Checking for stray libgd header files...

** WARNING: found gd.h header file in /usr/include/gd.h, but it is expected at /usr/local/include/gd.h. This may cause compile errors! **


** WARNING: found gd.h header file in /usr/include/gd.h, but it is expected at /usr/local/include/gd.h. This may cause compile errors! **
** Possible problems found **

Included Features:          GD_JPEG GD_GIF GD_GIFANIM GD_OPENPOLYGON
GD library used from:       /usr/local
Created MYMETA.yml and MYMETA.json
Creating new 'Build' script for 'GD' version '2.56'
Building GD
Extracting Image.pm (with variable substitutions)
gcc -I/usr/local/include -I/usr/lib/perl5/5.14/x86_64-cygwin-threads/CORE -DXS_VERSION="2.56" -DVERSION="2.56" -DHAVE_JPEG -DHAVE_GIF -c -DPERL_USE_SAFE_PUTENV -U__STRICT_ANSI__ -fno-strict-aliasing -pipe -fstack-protector -O3 -o lib/GD.o lib/GD.c
ExtUtils::Mkbootstrap::Mkbootstrap('blib/arch/auto/GD/GD.bs')
g++ --shared -Wl,--enable-auto-import -Wl,--export-all-symbols -Wl,--enable-auto-image-base -fstack-protector -o blib/arch/auto/GD/GD.dll lib/GD.o /usr/lib/perl5/5.14/x86_64-cygwin-threads/CORE/libperl.dll.a -L/usr/local/lib -ljpeg -lz -lgd
lib/GD.o:GD.c:(.text+0xd1b): undefined reference to `gdImageCreateFromGd2Ptr'
lib/GD.o:GD.c:(.text+0xd1b): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `gdImageCreateFromGd2Ptr'
lib/GD.o:GD.c:(.text+0xeec): undefined reference to `gdImageCreateFromGd2Ptr'
lib/GD.o:GD.c:(.text+0xeec): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `gdImageCreateFromGd2Ptr'
lib/GD.o:GD.c:(.text+0x1bfc): undefined reference to `gdImageCreateFromGd2Part'
lib/GD.o:GD.c:(.text+0x1bfc): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `gdImageCreateFromGd2Part'
lib/GD.o:GD.c:(.text+0x39b8): undefined reference to `gdImageGd2Ptr'
lib/GD.o:GD.c:(.text+0x39b8): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `gdImageGd2Ptr'
lib/GD.o:GD.c:(.text+0x3c16): undefined reference to `gdImageGd2Ptr'
lib/GD.o:GD.c:(.text+0x3c16): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `gdImageGd2Ptr'
lib/GD.o:GD.c:(.text+0x3e4f): undefined reference to `gdImageJpegPtr'
lib/GD.o:GD.c:(.text+0x3e4f): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `gdImageJpegPtr'
lib/GD.o:GD.c:(.text+0x11ec9): undefined reference to `gdImageCreateFromJpeg'
lib/GD.o:GD.c:(.text+0x11ec9): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `gdImageCreateFromJpeg'
lib/GD.o:GD.c:(.text+0x12175): undefined reference to `gdImageCreateFromJpegCtx'
lib/GD.o:GD.c:(.text+0x12175): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `gdImageCreateFromJpegCtx'
collect2: error: ld returned 1 exit status
error building blib/arch/auto/GD/GD.dll from lib/GD.o at /usr/lib/perl5/5.14/ExtUtils/CBuilder/Base.pm line 310.
  LDS/GD-2.56.tar.gz
  ./Build -- NOT OK
Running Build test
  Can't test without successful make
Running Build install
  Make had returned bad status, install seems impossible

make -v
GNU Make 4.0
Built for x86_64-pc-cygwin
Copyright (C) 1988-2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later 
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

1 个答案:

答案 0 :(得分:0)

我相信你安装了两个版本的GD库。一个位于/usr,一个位于/usr/local。它使用/usr中的头文件和/usr/local中的共享库。提示就是这个。

** WARNING: found gd.h header file in /usr/include/gd.h, but it is expected at /usr/local/include/gd.h. This may cause compile errors! **

您可能只在/usr/local中安装了GD运行时(共享库)。无奈之下,GD.pm正在抓取/usr中默认位置的标题。

尝试同时安装libgd3libgd-devel Cygwin软件包,并删除/usr/local中libgd的任何部分。请务必确保which gdlib-config/usr/bin/gdlib-config