2014-01-29 113 views
1

我看過並看過類似的問題,但是我無法獲得GD的工作。以下錯誤出現用的libgd和libpng安裝 ...不能用cpan/cpanm強制安裝GD

clang -c -I/usr/local/include -arch i386 -arch x86_64 -g -pipe -fno-common -DPERL_DARWIN -fno-strict-aliasing -fstack-protector -I/usr/local/include -Wformat=0 -Os -DVERSION=\"2.50\" -DXS_VERSION=\"2.50\" "-I/System/Library/Perl/5.12/darwin-thread-multi-2level/CORE" -DHAVE_FT -DHAVE_GIF -DHAVE_ANIMGIF -DVERSION_33 -DHAVE_UNCLOSEDPOLY -DHAVE_FTCIRCLE GD.c 
GD.xs:997:18: warning: implicit declaration of function 'gdImageGifAnimBeginPtr' is invalid in C99 [-Wimplicit-function-declaration] 
     data = (void *) gdImageGifAnimBeginPtr(image,&size,globalcm,loops); 
         ^
GD.xs:1022:18: warning: implicit declaration of function 'gdImageGifAnimAddPtr' is invalid in C99 [-Wimplicit-function-declaration] 
     data = (void *) gdImageGifAnimAddPtr(image,&size,localcm,leftofs,topofs,delay,disposal,previm); 
         ^
GD.xs:1041:18: warning: implicit declaration of function 'gdImageGifAnimEndPtr' is invalid in C99 [-Wimplicit-function-declaration] 
     data = (void *) gdImageGifAnimEndPtr(&size); 
         ^
GD.xs:1598:3: warning: implicit declaration of function 'gdImageOpenPolygon' is invalid in C99 [-Wimplicit-function-declaration] 
       gdImageOpenPolygon(image,polyptr,length,color); 
       ^
GD.xs:2192:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 
      if (value = hv_fetch(hash,"linespacing",strlen("linespacing"),0)) { 
       ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
GD.xs:2192:16: note: place parentheses around the assignment to silence this warning 
      if (value = hv_fetch(hash,"linespacing",strlen("linespacing"),0)) { 
        ^
       (               ) 

...

2 warnings generated. 
rm -f blib/arch/auto/GD/GD.bundle 
LD_RUN_PATH="/usr/lib:/usr/local/lib" clang -mmacosx-version-min=10.8 -arch i386 -arch x86_64 -bundle -undefined dynamic_lookup -L/usr/local/lib -fstack-protector GD.o -o blib/arch/auto/GD/GD.bundle \ 
     -L/usr/local/lib -lz -liconv -lgd \ 

ld: warning: ignoring file /usr/local/lib/libgd.dylib, file was built for x86_64 which is not the architecture being linked (i386): /usr/local/lib/libgd.dylib 
chmod 755 blib/arch/auto/GD/GD.bundle 
/usr/bin/perl -MExtUtils::Command::MM -e 'cp_nonempty' -- GD.bs blib/arch/auto/GD/GD.bs 644 
/usr/bin/perl "-Iblib/arch" "-Iblib/lib" bdf_scripts/bdf2gdfont.PLS bdf_scripts/bdf2gdfont.pl 
Extracting bdf2gdfont.pl (with variable substitutions) 
cp bdf_scripts/bdf2gdfont.pl blib/script/bdf2gdfont.pl 
/usr/bin/perl -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/bdf2gdfont.pl 
Manifying blib/man1/bdf2gdfont.pl.1 
Manifying blib/man3/GD.3pm 
Manifying blib/man3/GD::Image.3pm 
Manifying blib/man3/GD::Polygon.3pm 
Manifying blib/man3/GD::Polyline.3pm 
Manifying blib/man3/GD::Simple.3pm 
Running Mkbootstrap for GD() 
chmod 644 GD.bs 
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t 
Testing using gif support. 
t/GD.t ........ 
Failed 6/12 subtests 
    (less 3 skipped subtests: 3 okay) 
t/Polyline.t .. ok 

Test Summary Report 
------------------- 
t/GD.t  (Wstat: 0 Tests: 12 Failed: 6) 
    Failed tests: 2-7 
Files=2, Tests=13, 0 wallclock secs (0.02 usr 0.01 sys + 0.10 cusr 0.01 csys = 0.14 CPU) 
Result: FAIL 
Failed 1/2 test programs. 6/13 subtests failed. 
make: *** [test_dynamic] Error 255 
-> FAIL Installing GD failed. See /Users/lraven/.cpanm/work/1391048234.74068/build.log for details. Retry with --force to force install it. 
Expiring 19 work directories. 

我需要安裝,只是沒有GD所有其他模塊。

我使用的OS X 10.8.5,bash的版本3.2.48,Perl版本5.012和cpanm版本1.7

+1

你已經安裝了libgd,當然? – mob

回答

2

才能安裝GD您必須先安裝一些其他庫的Perl模塊,包括gd圖形庫本身(libgd),PNG庫(libpng)以及可選的JPEG和FreeType庫。

你可能會發現它更容易使用MacPorts安裝這些庫,然後你可以從那裏過安裝GD - 包被稱爲p5.14-GD(或任何你的perl版本一致)

+0

非常感謝您提供有用的建議,我不知道我需要單獨安裝。我不再是與圖像的東西得到錯誤,但它仍然沒有正確安裝。有我需要的其他包嗎? – Lel

+0

你可以擴展一下'沒有正確安裝'嗎? – tangent

+0

謝謝相切,我更新了上面的錯誤。不幸的是它難以破譯。我詢問是否需要模塊,因爲它似乎與我的perl模塊中未列出的MExtUtils :: MY有關。這些日誌文件中有很多信息,並且不清楚錯誤是什麼...... – Lel

0

繼死了這條 - 讓circos工作我做了以下.... 1 /我使用cpanm

wget -O- http://cpanmin.us | perl - -l ~/perl5 App::cpanminus local::lib

eval `perl -I ~/perl5/lib/perl5 -Mlocal::lib` 
cpanm Config::General 
cpanm Font::TTF 
cpanm List::MoreUtils 
cpanm Math::Bezier 
cpanm Math::Round 
cpanm Math::VecStat 
cpanm Params::Validate 
cpanm Readonly 
cpanm Regexp::Common 
cpanm Set::IntSpan 
cpanm Text::Format 
cpanm Clone 
cpanm GD 
echo 'eval `perl -I ~/perl5/lib/perl5 -Mlocal::lib`' >> ~/.profile 

GD不會安裝安裝的所有模塊。爲了解決這個問題: 我下載並從http://www.macports.org/install.php

sudo /opt/local/bin/port install gd2 
sudo /opt/local/bin/port install jpeg 
sudo /opt/local/bin/port install libpng 
sudo /opt/local/bin/port install libgda5 

安裝MacPorts的我得到了與GNOME桌面相關的錯誤跑 sudo /opt/local/bin/port clean gnome-desktop然後重新安裝的libgd

最後,獲得GD到一個地方,Perl發現它...

export PATH=/opt/local/bin:/opt/local/sbin:$PATH