2014-07-25 9 views
4

GD.pm을 이미 설치했습니다. PNG를 지원하는지 확인하고 싶습니다. 내가 이렇게하는지 확인하려면 :Perl에 GD.pm을 설치하는 동안 PNG 지원 활성화

$ perl -e 'use GD; $im=GD::Image->new(); print $im->can("png") ? "yes" : "no" , "\n";' 
no 

알다시피. no을 인쇄합니다. 그런 다음 나는 다음과 같은 과정을 CPAN에서 최신 GD를 다운로드 :

Included Features:   GD_XPM GD_JPEG GD_FONTCONFIG GD_FREETYPE 
GD_PNG GD_GIF GD_GIFANIM GD_OPENPOLYGON GD_UNCLOSEDPOLY GD_ANIMGIF 
GD_FTCIRCLE VERSION_33 

하지만 그 대신 I :

> wget http://search.cpan.org/CPAN/authors/id/L/LD/LDS/GD-2.53.tar.gz 
> tar xvfz GD-2.53.tar.gz 
> cd GD-2.44 
> perl Makefile.PL 
> make 
> make test 
> make install 

내가이 설치된 PNG 지원의 특징은이 같은 라인을 포함 할 것으로 예상 이 단지 가지고 :

Included Features:   GD_GIF GD_GIFANIM GD_OPENPOLYGON 

내가이 명령 중 하나를 sudo perl Makefile.PL -options "JPEG,FT,PNG"에 실패했습니다. GD_PNG이 표시되지 않았습니다.

PNG 지원으로 GD.pm을 설치하는 방법은 무엇입니까?

나는 그것을 실행해야 circos.

업데이트 :

$ perl -e 'use GD; $im=GD::Image->new(); print $im->can("png") ? "yes" : "no" , "\n";' 
Can't load '/Library/Perl/5.16/darwin-thread-multi-2level/auto/GD/GD.bundle' for module GD: dlopen(/Library/Perl/5.16/darwin-thread-multi-2level/auto/GD/GD.bundle, 1): Library not loaded: libpng15.15.dylib 
    Referenced from: /usr/local/lib/libfreetype.6.dylib 
    Reason: image not found at /System/Library/Perl/5.16/darwin-thread-multi-2level/DynaLoader.pm line 194. 
at -e line 1. 
Compilation failed in require at -e line 1. 
BEGIN failed--compilation aborted at -e line 1. 

:

adviced로 GD

$ brew update && brew upgrade 
$ brew install gd 
$ brew install libpng 
$ sudo cpan 
    cpan > force install GD 

의 libpng를 설치하고 재건 후, 나는이 오류가 발생했습니다 업데이트 2 : 마지막으로 나는이 작업을 수행하여 문제를 fixed :

$ locate libpng15.15.dylib 
/anaconda/lib/libpng15.15.dylib 
/anaconda/pkgs/libpng-1.5.13-1/lib/libpng15.15.dylib 
/opt/X11/lib/libpng15.15.dylib 
/opt/local/lib/libpng15.15.dylib 

$ ln -s /opt/X11/lib/libpng15.15.dylib /usr/local/lib/libpng15.15.dylib 

$ perl -e 'use GD; $im=GD::Image->new(); print $im->can("png") ? "yes" : "no" , "\n";' 
    yes 
+0

아마도'libpng' /'libpng-dev'가 없습니다. 사용 가능한 경우 GD를 다시 빌드해야합니다. – Leeft

+1

직접 제작하지 마십시오. 플랫폼에 맞게 미리 빌드 된 패키지를 설치하기 만하면됩니다. –

답변

3

당신은 GD.pm.을하기 전에 의존성 등의 라이브러리를 필요 이 특별한 경우에 libpng은 분명히 빠져 있습니다. 그 때문에 의존성의

, 난 당신이 패키지 관리자를 사용하는 것이 좋습니다하지 CPAN, 펄은 OS와 함께 제공 한 경우 : OS X에 대한

  • MacPorts를 또는 자작
  • apt-get을 데비안과 우분투 용.
  • RHEL, Cent-OS 용 yum입니다.