2

我正在尝试使用 cpan 在 CentOS linux机器上安装 Perl 模块Font::FreeType 。我运行sudo cpan并在我运行的 cpan shell 中运行install Font::FreeType。但是make失败如下:

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

我用谷歌搜索,但似乎找不到任何关于如何解决这个问题的建议。我感觉有些东西可能被cpane破坏了,因为当我去检查我的版本时,我很惊讶:

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

3 回答 3

2

请参阅http://rt.cpan.org/Public/Dist/Display.html?Name=Font-FreeType,RT 队列有您可以应用的补丁以使模块正确构建。

Ether 和 Cfreak 猜错了,这只是Font::FreeType.

于 2010-01-21T13:30:41.010 回答
0

看起来您没有安装 freetype 开发包。在命令行上尝试:

yum install freetype-devel

让它安装,然后为您的 perl 模块重新运行安装。(你需要先做干净的 Font::Freetype)

于 2010-01-20T20:30:47.760 回答
0

您始终可以使用自身 ( sudo cpan CPAN) 或手动下载 CPAN 发行版并按照构建说明重新安装 cpan。

但是,通常当您从 CPAN 安装中获得 C-ish 编译错误时,这表明您可能缺少底层库。Font::FreeType 使用 FreeType2 库;你是先安装的吗?(它在 /usr/lib/ 中吗?)

于 2010-01-20T20:34:38.730 回答