2016-06-21 60 views
2

我試圖通過運行cpan install GD::Polygon安裝GD::Polygon,但我得到了以下錯誤:當我嘗試安裝GD :: Polygon時,爲什麼我會在搜索路徑中找到「gdlib-config」,即使安裝了gdlib-config?

**UNRECOVERABLE ERROR** 
Could not find gdlib-config in the search path. Please install libgd 
2.0.28 or higher. 

我手動安裝從源代碼(./configuremakemake install)的libgd-2.2.1,現在當我運行whereis gdlib-config ,我看到它確實安裝:

gdlib-config: /usr/local/bin/gdlib-config 

我怎麼能告訴cpan在哪裏可以找到這個庫?

+3

你的'PATH'中是'gdlib-config'嗎? – ThisSuitIsBlackNot

+1

也...你嘗試在新的終端窗口,以確保PATH相應地更新? – stevieb

+0

@ThisSuitIsBlackNot/usr/local/bin在我的PATH中...我應該特別包含gdlib-config嗎? –

回答

2

好吧,簡短的回答是:我通過yum而不是cpan安裝GD。

sudo yum install perl-GD 

如果你仍然想通過cpan安裝它,您應該包括gdlib-config你的PATH(不只是如/usr/local/bin或無論它是文件夾)。

yum安裝Perl的包是明確比cpan

+1

對於需要與非Perl庫集成的Perl模塊,'yum'(和'apt-get')具有優於'cpan'的優勢,因爲它們可以管理依賴關係並安裝經過測試和已知的預編譯對象在您的系統上兼容。如果你遇到這種情況,你放棄使用非系統'perl's或修改模塊源代碼的靈活性。 – mob

+1

我無法使用apt-get:apt-get install perl-GD,得到:E:找不到軟件包perl-GD。我無法相信這是多麼艱難的證明獲得這個服務器設置,使用更高版本的Perl:/ –

+3

@AndrewNewby:您正在尋找'sudo apt-get install libgd-gd2-perl' – Nicorr

1

我同意去使用包管理器更好。 你沒有提到你使用哪個操作系統。 在Ubuntu Linux上,/ usr/local/bin也位於root用戶的路徑中。 您可以仔細檢查文件是否可執行。

還要確保執行Perl編譯的腳本不會弄亂PATH變量。

我使用perlbrew,並且不以root身份運行,使用cpan安裝東西。 注意:在Ubuntu 16.10和17.04上缺少gdlib-config,因爲debian維護者似乎已經刪除了它。

爲了得到它,你可以編譯這裏來源: https://launchpad.net/ubuntu/+archive/primary/+files/libgd2_2.1.1.orig.tar.gz

應用了以下修補程序:

diff webpimg.c.org libgd-gd-2.1.1-patched-16.10plus/src/webpimg.c 
714c714 
<  vpx_img_wrap(&img, IMG_FMT_I420, 
--- 
>  vpx_img_wrap(&img, VPX_IMG_FMT_I420, 
716,721c716,721 
<  img.planes[PLANE_Y] = (uint8*)(Y); 
<  img.planes[PLANE_U] = (uint8*)(U); 
<  img.planes[PLANE_V] = (uint8*)(V); 
<  img.stride[PLANE_Y] = y_stride; 
<  img.stride[PLANE_U] = uv_stride; 
<  img.stride[PLANE_V] = uv_stride; 
--- 
>  img.planes[VPX_PLANE_Y] = (uint8*)(Y); 
>  img.planes[VPX_PLANE_U] = (uint8*)(U); 
>  img.planes[VPX_PLANE_V] = (uint8*)(V); 
>  img.stride[VPX_PLANE_Y] = y_stride; 
>  img.stride[VPX_PLANE_U] = uv_stride; 
>  img.stride[VPX_PLANE_V] = uv_stride; 

歡呼

+0

另請參閱此錯誤報告:https://rt.cpan.org/Public/Bug/Display.html?id = 121121 –

0

順便說一句,似乎CPAN安裝程序只需要一個「devel」版本的libgd來構建包。我試着將它安裝在一箇舊的cygwin平臺上,最後它與「libgd-devel」組件一起工作。

相關問題