error: XML::Parser perl module is required for intltool

在Maemo SDK 2.2的arm target里编译时,遇到这样的错误

checking for intltool >= 0.23... 0.33 found
checking for perl... /scratchbox/tools/bin/perl
checking for XML::Parser... configure: error: XML::Parser perl module is required for intltool

先google这篇帖子,http://www.karakas-online.de/forum/viewtopic.php?t=3915
告诉如何找成问题的真实原因。

运行

/usr/bin/perl -e "require XML::Parser"

错误信息变为:

Can't load '/usr/lib/perl5/auto/XML/Parser/Expat/Expat.so' for module XML::Parser::Expat: /usr/lib/perl5/auto/XML/Parser/Expat/Expat.so: cannot open shared object file: No such file or directory at /scratchbox/tools/lib/perl5/5.8.4/i686-linux-thread-multi/DynaLoader.pm line 230.
at /usr/lib/perl5/XML/Parser.pm line 14
Compilation failed in require at /usr/lib/perl5/XML/Parser.pm line 14.
BEGIN failed--compilation aborted at /usr/lib/perl5/XML/Parser.pm line 18.
Compilation failed in require at - line 1.
BEGIN failed--compilation aborted at - line 1.

可是Expat.so这个文件在那里啊,继续google,找到真正的原因和解决方案

在scratchbox环境,也就是在Maemo SDK 2.2的arm target下

$ cd /host_usr
$ tar -xzvf /scratchbox/packages/scratchbox-perl-dev.tar.gz