CPAN GD 2.71 сбой установки на Cygwin - PullRequest
1 голос
/ 14 февраля 2020

Я столкнулся с кирпичной стеной, пытаясь запустить модуль CPAN GD на Cygwin. Это было нормально на моем старом ноутбуке с Win 7, нет go на моем новом ноутбуке с Win 10. Я исправил несколько проблем, но теперь я в тупике.

Я попытался выполнить принудительную установку; Я мог заставить скрипт работать, но затем он не смог сгенерировать файл PNG.

Попытка установки с cpanm GD (и другими способами, но это было совсем недавно). Ниже приведен файл build.log из cpanm. Ошибка, которая кажется мне наиболее подозрительной, - Can't locate object method "newFromJpeg" via package "GD::Image" at t/transp.t line 24., но я не знаю , почему не может найти этот метод.

cpanm (App::cpanminus) 1.7044 on perl 5.026003 built for x86_64-cygwin-threads-multi
Work directory is /home/neilw/.cpanm/work/1581700101.2031
You have make /usr/bin/make
You have /usr/bin/wget
You have /usr/bin/tar: tar (GNU tar) 1.29
Packaged by Cygwin (1.29-1)
Copyright (C) 2015 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by John Gilmore and Jay Fenlason.
Searching GD () on cpanmetadb ...
--> Working on GD
Fetching http://www.cpan.org/authors/id/R/RU/RURBAN/GD-2.71.tar.gz
-> OK
Unpacking GD-2.71.tar.gz
Entering GD-2.71
Checking configure dependencies from META.json
Checking if you have ExtUtils::Constant 0.22 ... Yes (0.23)
Checking if you have ExtUtils::PkgConfig 0 ... Yes (1.16)
Configuring GD-2.71
Running Makefile.PL
Notice: Type perl Makefile.PL -h for command-line option summary.

gdlib-config: warning: this script is deprecated; please use the pkg-config file instead.
Configuring for libgd version 2.2.5.
Checking for stray libgd header files...none found.

Included Features:          GD_GIF GD_GIFANIM GD_OPENPOLYGON GD_UNCLOSEDPOLY GD_ANIMGIF GD_FTCIRCLE VERSION_33
GD library used from:       /usr/local
gdlib-config used:          gdlib-config
Checking if your kit is complete...
Looks good
Unrecognized argument in LIBS ignored: 'libdir:'
Unrecognized argument in LIBS ignored: '/usr/local/lib'
Generating a Unix-style Makefile
Writing Makefile for GD
Writing MYMETA.yml and MYMETA.json
-> OK
Checking dependencies from MYMETA.json ...
Checking if you have ExtUtils::MakeMaker 0 ... Yes (7.24)
Checking if you have Math::Trig 0 ... Yes (1.23)
Checking if you have Test::Fork 0.02 ... Yes (0.02)
Checking if you have Test::More 0.88 ... Yes (1.302073)
Building and testing GD-2.71
"/usr/bin/perl.exe" lib/GD/Image_pm.PL lib/GD/Image.pm
Extracting Image.pm (with variable substitutions)
cp lib/GD/Polygon.pm blib/lib/GD/Polygon.pm
cp lib/GD/Polyline.pm blib/lib/GD/Polyline.pm
cp lib/GD/Simple.pm blib/lib/GD/Simple.pm
cp lib/GD/Group.pm blib/lib/GD/Group.pm
cp lib/GD/Image.pm blib/lib/GD/Image.pm
cp lib/GD.pm blib/lib/GD.pm
AutoSplitting blib/lib/GD.pm (blib/lib/auto/GD)
Running Mkbootstrap for GD ()
chmod 644 "GD.bs"
"/usr/bin/perl.exe" -MExtUtils::Command::MM -e 'cp_nonempty' -- GD.bs blib/arch/auto/GD/GD.bs 644
"/usr/bin/perl.exe" "/usr/share/perl5/5.26/ExtUtils/xsubpp"  -typemap '/usr/share/perl5/5.26/ExtUtils/typemap' -typemap '/home/neilw/.cpanm/work/1581700101.2031/GD-2.71/typemap'  GD.xs > GD.xsc
mv GD.xsc GD.c
gcc -c  -I/usr/local/include -DPERL_USE_SAFE_PUTENV -U__STRICT_ANSI__ -D_GNU_SOURCE -ggdb -O2 -pipe -Wall -Werror=format-security -D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -fdebug-prefix-map=/mnt/share/cygpkgs/perl/perl.x86_64/build=/usr/src/debug/perl-5.26.3-2 -fdebug-prefix-map=/mnt/share/cygpkgs/perl/perl.x86_64/src/perl-5.26.3=/usr/src/debug/perl-5.26.3-2 -fwrapv -fno-strict-aliasing -Wall -Wextra -Wformat=1 -DUSEIMPORTLIB -O3   -DVERSION=\"2.71\" -DXS_VERSION=\"2.71\"  "-I/usr/lib/perl5/5.26/x86_64-cygwin-threads/CORE"  -DHAVE_FT -DHAVE_GIF -DHAVE_ANIMGIF -DVERSION_33 -DHAVE_UNCLOSEDPOLY -DHAVE_FTCIRCLE -DLIBGD_VERSION="2.2.5" GD.c
GD.c: In function ‘XS_GD__Image_newFromXpm’:
GD.c:1244:9: warning: unused variable ‘filename’ [-Wunused-variable]
  char * filename = (char *)SvPV_nolen(ST(1))
         ^~~~~~~~
GD.c: In function ‘XS_GD__Image_useFontConfig’:
GD.c:4753:6: warning: unused variable ‘flag’ [-Wunused-variable]
  int flag = (int)SvIV(ST(1))
      ^~~~
rm -f blib/arch/auto/GD/GD.dll
g++  --shared  -Wl,--enable-auto-import -Wl,--export-all-symbols -Wl,--enable-auto-image-base -fstack-protector-strong GD.o  -o blib/arch/auto/GD/GD.dll  \
  /usr/lib/perl5/5.26/x86_64-cygwin-threads/CORE/cygperl5_26.dll -L/usr/local/lib -lgd   \

chmod 755 blib/arch/auto/GD/GD.dll
"/usr/bin/perl.exe" "-Iblib/arch" "-Iblib/lib" bdf_scripts/bdf2gdfont_pl.PL bdf_scripts/bdf2gdfont.pl
Extracting bdf2gdfont.pl (with variable substitutions)
cp bdf_scripts/bdf2gdfont.pl blib/script/bdf2gdfont.pl
"/usr/bin/perl.exe" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/bdf2gdfont.pl
Manifying 1 pod document
Manifying 6 pod documents
"/usr/bin/perl.exe" -MExtUtils::Command::MM -e 'cp_nonempty' -- GD.bs blib/arch/auto/GD/GD.bs 644
PERL_DL_NONLAZY=1 "/usr/bin/perl.exe" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/fork.t .................. ok
# Testing gd 2.2.5 using gd2 support.
# ignore corrupt png error messages...
t/GD.t .................... ok
t/HSV.t ................... ok
t/Polyline.t .............. ok
Can't locate object method "newFromJpeg" via package "GD::Image" at t/transp.t line 24.
# Looks like your test exited with 255 just after 4.
t/transp.t ................ 
Dubious, test returned 255 (wstat 65280, 0xff00)
Failed 8/12 subtests 
t/z_kwalitee.t ............ skipped: No RELEASE_TESTING
t/z_manifest.t ............ skipped: requires a git checkout and a unix for git and diff
t/z_pod-spell-mistakes.t .. skipped: No RELEASE_TESTING
t/z_pod.t ................. skipped: No RELEASE_TESTING

Test Summary Report
-------------------
t/transp.t              (Wstat: 65280 Tests: 4 Failed: 0)
  Non-zero exit status: 255
  Parse errors: Bad plan.  You planned 12 tests but ran 4.
Files=9, Tests=39,  2 wallclock secs ( 0.03 usr  0.06 sys +  0.62 cusr  1.17 csys =  1.88 CPU)
Result: FAIL
Failed 1/9 test programs. 0/39 subtests failed.
make: *** [Makefile:1151: test_dynamic] Error 255
gcc -c  -I/usr/local/include -DPERL_USE_SAFE_PUTENV -U__STRICT_ANSI__ -D_GNU_SOURCE -ggdb -O2 -pipe -Wall -Werror=format-security -D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -fdebug-prefix-map=/mnt/share/cygpkgs/perl/perl.x86_64/build=/usr/src/debug/perl-5.26.3-2 -fdebug-prefix-map=/mnt/share/cygpkgs/perl/perl.x86_64/src/perl-5.26.3=/usr/src/debug/perl-5.26.3-2 -fwrapv -fno-strict-aliasing -Wall -Wextra -Wformat=1 -DUSEIMPORTLIB -O3   -DVERSION=\"2.71\" -DXS_VERSION=\"2.71\"  "-I/usr/lib/perl5/5.26/x86_64-cygwin-threads/CORE"  -DHAVE_FT -DHAVE_GIF -DHAVE_ANIMGIF -DVERSION_33 -DHAVE_UNCLOSEDPOLY -DHAVE_FTCIRCLE -DLIBGD_VERSION="2.2.5" GD.c
GD.c: In function ‘XS_GD__Image_newFromXpm’:
GD.c:1244:9: warning: unused variable ‘filename’ [-Wunused-variable]
  char * filename = (char *)SvPV_nolen(ST(1))
         ^~~~~~~~
GD.c: In function ‘XS_GD__Image_useFontConfig’:
GD.c:4753:6: warning: unused variable ‘flag’ [-Wunused-variable]
  int flag = (int)SvIV(ST(1))
      ^~~~
rm -f blib/arch/auto/GD/GD.dll
                                                    -> FAIL Installing GD failed. See /home/neilw/.cpanm/work/1581700101.2031/build.log for details. Retry with --force to force install it.
...