5

I have been trying to troubleshoot why CPAN GD module fails to install using Cygwin for 2 days now. Any help is much appreciated. Thanks!

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.
eb0906
  • 85
  • 5
  • Your name is all over the output, so if you don't want that, use the search function in your text editor to replace your name with `me`, then edit your post. – 7stud Dec 28 '14 at 22:25
  • There appear to be a couple of problems with GD 2.56 on a lot of Unix version - https://rt.cpan.org/Public/Dist/Display.html?Name=GD – Len Jaffe Dec 29 '14 at 17:41
  • Thanks, 7stud, post edited. Len Jaffe, thanks for the link. I still can't figure out the issue. Argh! – eb0906 Dec 29 '14 at 23:11
  • keep a weather eye on the RT queue, and see what shakes out. Otherwise consider checking the CPAN testers web site for the last known good GD.pm on Cygwin. – Len Jaffe Dec 30 '14 at 19:54

1 Answers1

0

I believe you have two versions of the GD library installed. One in /usr and one in /usr/local. It's using the header file from /usr and the shared libraries from /usr/local. The hint is this.

** 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! **

You probably have only the GD runtime (shared library) installed in /usr/local. In desperation, GD.pm is grabbing the headers from the default location in /usr.

Try installing both the libgd3 and libgd-devel Cygwin packages and removing whatever parts of libgd is in /usr/local. In particular, make sure which gdlib-config points at /usr/bin/gdlib-config.

Schwern
  • 153,029
  • 25
  • 195
  • 336