2010-01-20 58 views
2

我正嘗試在CentOS linux盒子上使用cpan安裝Perl模塊Font::FreeType。我運行sudo cpan並在cpan shell中運行install Font::FreeType。然而make如下失敗:如何修復Perl的Font :: FreeType編譯錯誤?

Writing Makefile for Font::FreeType 
cp lib/Font/FreeType.pm blib/lib/Font/FreeType.pm 
cp lib/Font/FreeType/Face.pm blib/lib/Font/FreeType/Face.pm 
cp lib/Font/FreeType/Glyph.pm blib/lib/Font/FreeType/Glyph.pm 
/usr/bin/perl /usr/lib/perl5/site_perl/5.8.8/ExtUtils/xsubpp -typemap /usr/lib/perl5/5.8.8/ExtUtils/typemap -typemap typemap FreeType.xs > FreeType.xsc && mv FreeType.xsc FreeType.c 
gcc -c -I/usr/include/freetype2 -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 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -DVERSION=\"0.03\" -DXS_VERSION=\"0.03\" -fPIC "-I/usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE" FreeType.c 
FreeType.c: In function ‘XS_Font__FreeType_new’: 
FreeType.c:425: warning: unused variable ‘class’ 
FreeType.xs: In function ‘XS_Font__FreeType__Face_has_reliable_glyph_names’: 
FreeType.xs:528: warning: implicit declaration of function ‘FT_Has_PS_Glyph_Names’ 
FreeType.xs: In function ‘XS_Font__FreeType__Glyph_char_code’: 
FreeType.xs:808: error: invalid lvalue in assignment 

我用Google搜索,但似乎無法找到如何解決這個問題的任何建議。我有一種感覺的東西可以用cpane被corupted,因爲當我去檢查我的版本,我很驚訝:

# sudo cpan --version 
/usr/bin/cpan version [unknown] calling Getopt::Std::getopts (version 1.05 [paranoid]), 
running under Perl version 5.8.8. 
+0

從命令行,你應該可以運行'cpan Font :: FreeType'。這並不能解決你的問題。你應該只需要sudo來安裝步驟,所以你可以配置CPAN.pm來使用它。我很好奇你的cpan源代碼的樣子,因爲我不支持--version開關。 :) – 2010-01-21 18:26:30

+0

@brian d foy:感謝提示和清理我的標題!顯然我的cpan並不真的支持版本切換;-)它是Centos 5.4,如果這很重要的話。 – Josh 2010-01-22 03:51:34

回答

0

看起來你沒有安裝FreeType的開發包做。在命令行上嘗試:

yum install freetype-devel 

讓我們安裝,然後重新運行perl模塊的安裝。 (您需要先清理Font :: Freetype)

+0

嗯,剛剛試過,得到了'Package freetype-devel-2.2.1-21.el5_3.i386已經安裝並且最新版本' – Josh 2010-01-20 20:33:16

0

您可以隨時使用自身(sudo cpan CPAN)或手動下載CPAN分發包並按照構建說明重新安裝cpan。

但是,通常當您從CPAN安裝中收到C-ish編譯錯誤時,這表明您可能缺少底層庫。 Font :: FreeType使用FreeType2庫;你先安裝了嗎? (它在/ usr/lib /中?)

+0

是的,庫在/ usr/lib/... 'lrwxrwxrwx 1 root root 21 Jan 20 12:46 /usr/lib/libfreetype.so - > libfreetype.so.6.3.10' - 有什麼奇怪的是錯誤是「賦值中無效的左值」,這聽起來像是FreeType代碼中的一個錯誤,我錯了嗎? – Josh 2010-01-20 20:47:48

+0

@Josh:是的,或FreeType庫,下載的XS層的版本和Perl本身之間的某種不兼容性。這可能需要直接聯繫Font :: FreeType作者(或通過rt.cpan.org向模塊提交錯誤報告)。 – Ether 2010-01-20 21:17:42

相關問題