3

我正在尝试将Lingua::Lid安装到 unix 系统(ubuntu,最新版本)上。我当然是root。当我进入软件包进行安装时,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 行的样子:

第 48 行: die "$BASE/lib 不存在" 除非 -d "$BASE/lib";
第 49 行: die "$BASE/include 不存在" 除非 -d "$BASE/include";
第 50 行:die "lid.h is missing in $BASE/include" unless -e "$BASE/included/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 安装它,仍然无法正常工作。

4

2 回答 2

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参数。

于 2010-03-22T20:37:27.913 回答
2

Lid 库是Lingua::Lid. 你没有安装它。从其供应商处购买:http ://www.lingua-systems.com/request-quote/index.html?product=lid

于 2010-03-23T13:04:22.967 回答