2011-07-15 54 views
1

我使用cpanm來安裝GD :: Image。這是在沒有root權限的Linux系統上,所以我認爲這將是最簡單的方法。perl cpanminus錯誤安裝GD :: Image cc1:錯誤:無法識別的命令行選項「-fstack-protector」

顯然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

cpanm如果您使用系統perl,沒有對沒有root權限的安裝的特殊支持。

1)你可以使用perlbrew並編譯你自己的perl到你的家中。之後,你可以在你的「home perl」中使用cpanm。

2)您可以使用local::lib它設置使用系統perl的環境,但是將模塊安裝到您的主目錄。在完成local :: lib中描述的設置之後,它可以使用cpanm。

如果仍然無法安裝。請提供完整的日誌。 cpanm最後說,詳細信息在「/homes/avilella/.cpanm/build.log」中。如果你安裝XS模塊,有時你需要安裝一些頭文件或其他東西。從構建日誌中的錯誤消息,你經常可以看到它爲什麼失敗。但是你需要提供這個文件。

+0

我明白了,我在哪裏放置日誌文件? – 719016

+0

第一句話是錯誤的。 cpanm檢測到情況並調用它對非root用戶的特殊支持:'$ cpanm Text ::Template␤!無法寫入/usr/local/share/perl/5.10.0和/ usr/local/bin:將模塊安裝到/ home/user /perl5␤!要關閉此警告[:]:␤! - 以root身份運行我或使用--sudo選項運行(安裝到/usr/local/share/perl/5.10.0和/ usr/local/bin)␤| - 用--local-lib選項運行我cpanm --local-lib =〜/perl5␤! - 設置PERL_CPANM_OPT =「 - local-lib =〜/ perl5」環境變量(在你的shell rc文件中)␤! - 在您的shell中配置local :: lib以設置PERL_MM_OPT等。「 – daxim

+0

@daxim 半對。它檢測它是否可以寫入目錄。如果沒有,它會爲你設置local :: lib。 @avilella 只需將其添加到問題。 –

相關問題