2011-04-14 37 views
1

我試圖安裝YAML :: Syck模塊(我實際上試圖安裝Date :: Manip,這只是一個依賴項),但它失敗,出現以下消息:試圖安裝YAML :: Syck - 這個模塊需要一個C編譯器

This module requires a C compiler at Makefile.PL line 38. 

發生這種情況我是否嘗試使用CPAN安裝或如果我嘗試下載軟件包並手動安裝。

我已經安裝了gcc,並且在我的PATH上,我可以從我試圖用來安裝YAML :: Syck的相同CYGWIN shell窗口訪問它。

回答

8

當尋找一個C編譯器,ExtUtils::MakeMakerModule::Build不一定找gccPATH,但查詢你的Perl的配置爲C編譯器它已建成,預計它可用於構建Perl擴展爲好。

在我的系統,它會尋找ccPATH,按照

$ perl -MConfig -E'say $Config{cc}' 
cc 
+1

s /不尋找/不一定尋找/ – ikegami 2011-04-14 19:29:28

+0

好的趕上。固定。謝謝! – rafl 2011-04-14 21:50:52

+1

較短:perl -V:cc gcc-4 – rurban 2013-04-03 13:48:07

3

在過去,當編譯模塊時,我一直在使用cygwin獲得一切「只是工作」。您可能想看看Strawberry Perl,這是一個Windows Perl發行版,它與編譯XS模塊所需的所有組件捆綁在一起。我沒有親自嘗試安裝YAML::Syck,但我已經安裝了許多其他XS模塊,而沒有發生任何事故。

一旦安裝完成並且在您的路徑中(通常是自動),您應該能夠從Windows命令提示符下運行cpan以安裝該模塊。

1

維護者來說

更好的論壇問是cygwin的郵件列表。在那裏你會發現同樣的問題被一次又一次地詢問,我們可以指出這些消息,並且維護人員都在場。 答案的質量會更好。 官方最新的perl公告是http://sourceware.org/ml/cygwin-announce/2012-07/msg00011.html

perl用於捆綁CPAN和測試核心perl最有用的模塊。 隨着最新的5.14包,有用的模塊被移動到單獨的包perl_vendor。 不包括可以通過cpan自己編譯模塊的依賴關係。 您至少需要使gcc-4。 請參閱/usr/share/doc/Cygwin/perl.README瞭解包裝特定的自述文件。

YAML :: SYCK被認爲是壞了,沒有維護(* _why *左),請儘量使用更好的YAML包,像YAMLYAML :: XS,通過的發明者和作者寫YAML本身(ingy)。 日期:: Manip不需要YAML :: Syckcpan確實喜歡有YAML模塊,但更喜歡YAML :: XS

你會發現,你就可以用cygwin的perl的安裝更多的包比草莓perl的(= MinGW的)。

相關問題