我正在尝试将Lingua::Lid安装到unix系统(ubuntu,最新版本)上。我当然是根。当我使用perl Makefile.PL
进入软件包安装时,我得到了这个愚蠢的错误:
[root@csisl27 Lingua-Lid-0.01]# perl Makefile.PL
/opt/ls//lib does not exist at Makefile.PL line 48.
我试过玩第48行的路径,没有任何变化,这是48-50行的样子:
Line 48: die "$BASE/lib does not exist" unless -d "$BASE/lib"; Line 49: die "$BASE/include does not exist" unless -d "$BASE/include"; Line 50: die "lid.h is missing in $BASE/include" unless -e "$BASE/includ/lid.h";
变量$ BASE声明为:
$BASE = "/opt/ls/" if ($^O eq "linux" or $^O eq "solaris");
$BASE = "/usr/local/" if ($^O eq "freebsd");
$BASE = $ENV{LID_BASE_DIR} if (defined $ENV{LID_BASE_DIR});
现在我试图编写的Perl程序看起来就像这样(只是我的基础):
#!/usr/bin/perl
use Lingua::LinkParser;
use strict;
print "Hello world!\n";
当我试图使用Lingua时,这是我的错误:
[root@csisl27 assign4]# ./perl_parser_1.pl
Can't locate Lingua/LinkParser.pm in @INC (@INC contains: /usr/lib/perl5/site_perl/5.10.0/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.10.0 /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi /usr/lib/perl5/vendor_perl/5.10.0 /usr/lib/perl5/5.10.0/x86_64-linux-thread-multi /usr/lib/perl5/5.10.0 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl .) at ./perl_parser_1.pl line 3. BEGIN failed--compilation aborted at ./perl_parser_1.pl line 3.
我试过从cpan那里搞这个,但仍然没有正常工作。
答案 0 :(得分:4)
以下是构建Lingua::LinkParser时遇到问题的地方:
LinkParser.xs:5:27: error: link-includes.h: No such file or directory
我认为您需要先安装Link Grammar。
如果查看发行版附带的Makefile.PL,您可以看到以下注释:
# 'LIBS' => "-L/dbrian/link-grammar-4.4.3/link-grammar/.libs/ -llink-grammar",
# 'INC' => "-I/dbrian/link-grammar-4.4.3/link-grammar/"
这意味着(非常间接地)您在系统上没有安装Link Grammar或者它安装在非标准位置。如果未安装,请先安装。如果已安装,请为INC
和LIBS
指定正确的位置。
正如README
所述:
在构建此程序包之前,强烈建议您进行安装 带有
make install
的链接解析器包,它将放置库, 标题位置中的标题和字典文件。这个构建不再 提示输入包目录,因此如果要使用非标准构建 位置,你需要编辑Makefile.PL来实现这一点。 特别要注意INCLUDE
参数。
答案 1 :(得分:2)
需要Lid库作为Lingua::Lid
的先决条件。你没有安装它。从其供应商处购买:http://www.lingua-systems.com/request-quote/index.html?product=lid