Perl cpanminus ошибка установки GD :: Image cc1: ошибка: нераспознанный параметр командной строки "-fstack-protector" - PullRequest
1 голос
/ 15 июля 2011

Я использую cpanm для установки GD :: Image.Это в системе Linux без прав суперпользователя, поэтому я подумал, что это будет самый простой способ.

Видимо сбой компиляции GD:

cpanm (App::cpanminus) 1.4007 on perl 5.008008 built for x86_64-linux-thread-multi
Work directory is /homes/avilella/.cpanm/work/1310719630.11564
You have make /usr/bin/make
You have /usr/bin/wget
You have /bin/tar: tar (GNU tar) 1.15.1
You have /usr/bin/unzip
Searching GD::Image on cpanmetadb ...
-> FAIL Finding GD::Image on cpanmetadb failed.
Searching GD::Image on search.cpan.org ...
Checking if you have ExtUtils::MakeMaker 6.31 ... Yes (6.58)
Checking if you have ExtUtils::Install 1.46 ... Yes (1.54)
Checking if you have Module::Build 0.36 ... No
==> Found dependencies: Module::Build
Searching Module::Build on cpanmetadb ...
--> Working on Module::Build
Fetching http://search.cpan.org/CPAN/authors/id/D/DA/DAGOLDEN/Module-Build-0.3800.tar.gz
-> OK
Unpacking Module-Build-0.3800.tar.gz
Entering Module-Build-0.3800
Checking configure dependencies from META.yml
Configuring Module-Build-0.3800
Running Build.PL
Checking prerequisites...
  requires:
    !  ExtUtils::CBuilder is not installed

Checking optional features...
dist_authoring..........disabled
  requires:
    ! Archive::Tar is not installed
  recommends:
    * Pod::Readme is not installed

ERRORS/WARNINGS FOUND IN PREREQUISITES.  You may wish to install the versions
of the modules indicated above before proceeding with this installation

Created MYMETA.yml and MYMETA.json
Creating new 'Build' script for 'Module-Build' version '0.3800'
-> OK
Checking dependencies from MYMETA.yml ...
Checking if you have Module::Metadata 1.000002 ... Yes (1.000004)
Checking if you have File::Spec 0.82 ... Yes (3.12)
Checking if you have ExtUtils::Install 0 ... Yes (1.54)
Checking if you have File::Compare 0 ... Yes (1.1003)
Checking if you have File::Find 0 ... Yes (1.10)
Checking if you have File::Path 0 ... Yes (1.08)
Checking if you have CPAN::Meta 2.110420 ... Yes (2.110930001)
Checking if you have Perl::OSType 1 ... Yes (1.002)
Checking if you have ExtUtils::CBuilder 0.27 ... No
Checking if you have ExtUtils::Manifest 0 ... Yes (1.58)
Checking if you have Text::Abbrev 0 ... Yes (1.01)
Checking if you have Test::Harness 0 ... Yes (3.23)
Checking if you have File::Copy 0 ... Yes (2.09)
Checking if you have Getopt::Long 0 ... Yes (2.35)
Checking if you have IO::File 0 ... Yes (1.13)
Checking if you have version 0.87 ... Yes (0.88)
Checking if you have Data::Dumper 0 ... Yes (2.121_08)
Checking if you have ExtUtils::ParseXS 2.21 ... Yes (2.2206)
Checking if you have Text::ParseWords 0 ... Yes (3.24)
Checking if you have File::Basename 0 ... Yes (2.74)
Checking if you have ExtUtils::Mkbootstrap 0 ... Yes (6.58)
Checking if you have Cwd 0 ... Yes (3.12)
Checking if you have Test::More 0.49 ... Yes (0.98)
Checking if you have Test::Harness 3.16 ... Yes (3.23)
Checking if you have Parse::CPAN::Meta 1.4401 ... Yes (1.4401)
Checking if you have File::Temp 0.15 ... Yes (0.22)
==> Found dependencies: ExtUtils::CBuilder
Searching ExtUtils::CBuilder on cpanmetadb ...
--> Working on ExtUtils::CBuilder
Fetching http://search.cpan.org/CPAN/authors/id/D/DA/DAGOLDEN/ExtUtils-CBuilder-0.280202.tar.gz
-> OK
Unpacking ExtUtils-CBuilder-0.280202.tar.gz
Entering ExtUtils-CBuilder-0.280202
Checking configure dependencies from META.yml
Checking if you have ExtUtils::MakeMaker 6.31 ... Yes (6.58)
Configuring ExtUtils-CBuilder-0.280202
Running Makefile.PL
Warning: prerequisite File::Spec 3.13 not found. We have 3.12.
Checking if your kit is complete...
Looks good
Writing Makefile for ExtUtils::CBuilder
Writing MYMETA.yml and MYMETA.json
-> OK
Checking dependencies from MYMETA.yml ...
Finding PREREQ from Makefile ...
Checking if you have Text::ParseWords 0 ... Yes (3.24)
Checking if you have IO::File 0 ... Yes (1.13)
Checking if you have File::Temp 0 ... Yes (0.22)
Checking if you have File::Spec 3.13 ... No (3.12 < 3.13)
Checking if you have IPC::Cmd 0 ... Yes (0.72)
Checking if you have File::Basename 0 ... Yes (2.74)
Checking if you have Cwd 0 ... Yes (3.12)
Checking if you have Test::More 0.47 ... Yes (0.98)
Checking if you have Test::More 0.47 ... Yes (0.98)
Checking if you have Text::ParseWords 0 ... Yes (3.24)
Checking if you have IO::File 0 ... Yes (1.13)
Checking if you have File::Temp 0 ... Yes (0.22)
Checking if you have IPC::Cmd 0 ... Yes (0.72)
Checking if you have File::Basename 0 ... Yes (2.74)
Checking if you have Cwd 0 ... Yes (3.12)
==> Found dependencies: File::Spec
Searching File::Spec on cpanmetadb ...
--> Working on File::Spec
Fetching http://search.cpan.org/CPAN/authors/id/S/SM/SMUELLER/PathTools-3.33.tar.gz
-> OK
Unpacking PathTools-3.33.tar.gz
Entering PathTools-3.33
Checking configure dependencies from META.yml
Checking if you have ExtUtils::MakeMaker 0 ... Yes (6.58)
Configuring PathTools-3.33
Running Makefile.PL
Checking if your kit is complete...
Looks good
Writing Makefile for Cwd
Writing MYMETA.yml and MYMETA.json
-> OK
Checking dependencies from MYMETA.yml ...
Finding PREREQ from Makefile ...
Checking if you have Scalar::Util 0 ... Yes (1.21)
Checking if you have Test 0 ... Yes (1.25)
Checking if you have File::Path 0 ... Yes (1.08)
Checking if you have File::Basename 0 ... Yes (2.74)
Checking if you have Carp 0 ... Yes (1.04)
Checking if you have ExtUtils::MakeMaker 0 ... Yes (6.58)
Checking if you have Scalar::Util 0 ... Yes (1.21)
Checking if you have Test 0 ... Yes (1.25)
Checking if you have File::Path 0 ... Yes (1.08)
Checking if you have File::Basename 0 ... Yes (2.74)
Checking if you have Carp 0 ... Yes (1.04)
Building PathTools-3.33
cp lib/File/Spec/OS2.pm blib/lib/File/Spec/OS2.pm
cp lib/File/Spec/Mac.pm blib/lib/File/Spec/Mac.pm
cp lib/File/Spec/VMS.pm blib/lib/File/Spec/VMS.pm
cp lib/File/Spec/Cygwin.pm blib/lib/File/Spec/Cygwin.pm
cp lib/File/Spec/Functions.pm blib/lib/File/Spec/Functions.pm
cp lib/File/Spec/Epoc.pm blib/lib/File/Spec/Epoc.pm
cp lib/File/Spec.pm blib/lib/File/Spec.pm
cp Cwd.pm blib/lib/Cwd.pm
cp lib/File/Spec/Unix.pm blib/lib/File/Spec/Unix.pm
cp lib/File/Spec/Win32.pm blib/lib/File/Spec/Win32.pm
/usr/bin/perl /homes/avilella/src/lookseq/lookseq/deps/lib/perl5/ExtUtils/xsubpp  -typemap /usr/lib/perl5/5.8.8/ExtUtils/typemap  Cwd.xs > Cwd.xsc && mv Cwd.xsc Cwd.c
gcc -c   -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic   -DVERSION=\"3.33\" -DXS_VERSION=\"3.33\" -fPIC "-I/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE"   Cwd.c
cc1: error: unrecognized command line option "-fstack-protector"
cc1: error: invalid parameter `ssp-buffer-size'
Cwd.c:1: error: bad value (generic) for -mtune= switch
make: *** [Cwd.o] Error 1
-> FAIL Installing File::Spec failed. See /homes/avilella/.cpanm/build.log for details.
-> FAIL Bailing out the installation for ExtUtils-CBuilder-0.280202. Retry with --prompt or --force.
-> FAIL Bailing out the installation for Module-Build-0.3800. Retry with --prompt or --force.
--> Working on GD::Image
Fetching http://search.cpan.org/CPAN/authors/id/L/LD/LDS/GD-2.46.tar.gz
-> OK
Unpacking GD-2.46.tar.gz
Entering GD-2.46
Checking configure dependencies from META.yml
Checking if you have ExtUtils::MakeMaker 0 ... Yes (6.58)
Configuring GD-2.46
Running Makefile.PL
Notice: Type perl Makefile.PL -h for command-line option summary.

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

** WARNING: found gd.h header file in /usr/includegd.h, but it is expected at /ebi/research/software/Linux_x86_64/opt/stow/gd-2.0.33/include/gd.h. This may cause compile errors! **


** WARNING: found gd.h header file in /usr/includegd.h, but it is expected at /ebi/research/software/Linux_x86_64/opt/stow/gd-2.0.33/include/gd.h. This may cause compile errors! **
** Possible problems found **

Included Features:          GD_XPM GD_JPEG GD_FONTCONFIG GD_FREETYPE GD_PNG GD_GIF GD_UNCLOSEDPOLY GD_ANIMGIF GD_FTCIRCLE VERSION_33
GD library used from:       /ebi/research/software/Linux_x86_64/opt/stow/gd-2.0.33
Checking if your kit is complete...
Looks good
Writing Makefile for GD
Writing MYMETA.yml and MYMETA.json
-> OK
Checking dependencies from MYMETA.yml ...
Finding PREREQ from Makefile ...
Checking if you have Math::Trig 0 ... Yes (1.03)
Checking if you have ExtUtils::MakeMaker 0 ... Yes (6.58)
Checking if you have Math::Trig 0 ... Yes (1.03)
Building and testing GD-2.46
/usr/bin/perl GD/Image.pm.PLS GD/Image.pm
Extracting Image.pm (with variable substitutions)
cp GD/Polyline.pm blib/lib/GD/Polyline.pm
cp qd.pl blib/lib/qd.pl
cp GD/Image.pm blib/lib/GD/Image.pm
cp GD.pm blib/lib/GD.pm
AutoSplitting blib/lib/GD.pm (blib/lib/auto/GD)
cp GD/Simple.pm blib/lib/GD/Simple.pm
cp GD/Polygon.pm blib/lib/GD/Polygon.pm
cp GD/Group.pm blib/lib/GD/Group.pm
/usr/bin/perl /homes/avilella/src/lookseq/lookseq/deps/lib/perl5/ExtUtils/xsubpp  -typemap /usr/lib/perl5/5.8.8/ExtUtils/typemap -typemap typemap  GD.xs > GD.xsc && mv GD.xsc GD.c
gcc -c  -I/ebi/research/software/Linux_x86_64/opt/stow/gd-2.0.33/include -Wformat=0 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic   -DVERSION=\"2.46\" -DXS_VERSION=\"2.46\" -fPIC "-I/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE"  -DHAVE_JPEG -DHAVE_FT -DHAVE_XPM -DHAVE_GIF -DHAVE_PNG -DHAVE_ANIMGIF -DVERSION_33 -DHAVE_UNCLOSEDPOLY -DHAVE_FONTCONFIG -DHAVE_FTCIRCLE GD.c
cc1: error: unrecognized command line option "-fstack-protector"
cc1: error: invalid parameter `ssp-buffer-size'
GD.c:1: error: bad value (generic) for -mtune= switch
make: *** [GD.o] Error 1
-> FAIL Installing GD::Image failed. See /homes/avilella/.cpanm/build.log for details.

Есть идеи?

1 Ответ

1 голос
/ 15 июля 2011

cpanm не имеет специальной поддержки для установки без прав root, если вы используете системный perl.

1) Вы можете использовать perlbrew и скомпилировать свой собственный perl в свой дом,После этого вы можете просто использовать cpanm в своем «домашнем perl».

2) Вы можете использовать local :: lib , чтобы настроить среду, в которой используется системный perl, но вы устанавливаетемодули в ваш домашний каталог.После того, как вы выполнили настройку, описанную в local :: lib, он может работать с cpanm.

Если по-прежнему не удается установить.Пожалуйста, предоставьте полный журнал.В конце cpanm говорит, что подробная информация находится в "/homes/avilella/.cpanm/build.log".Если вы устанавливаете модули XS иногда, вам нужно установить некоторые заголовочные файлы или другие материалы.Из сообщений об ошибках из журнала сборки часто видно, почему он не работает.Но вам нужно предоставить файл.

...