Как мне установить Perl's Lingua :: Lid? - PullRequest
3 голосов
/ 22 марта 2010

Я пытаюсь установить 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:

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по-прежнему не работает должным образом.

Ответы [ 2 ]

4 голосов
/ 22 марта 2010

Здесь начинается проблема при сборке 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/"

, что означает (очень косвенно), что у вас либо не установлена ​​ грамматика ссылок в вашей системе, либо она установлена ​​в нестандартном месте. Если он не установлен, сначала установите его. Если он установлен, укажите правильное расположение для INC и LIBS.

Как указано README:

Перед сборкой этого пакета настоятельно рекомендуется установить пакет парсера ссылок с make install, который поместит библиотеки, Заголовки и файлы словаря в стандартных местах. Эта сборка больше не запрашивает каталоги пакетов, так что если вы хотите собрать с нестандартным локации, вам нужно отредактировать Makefile.PL, чтобы это произошло. В частности, обратите внимание на параметр INCLUDE.

2 голосов
/ 23 марта 2010

Библиотека Lid необходима как обязательное условие для Lingua::Lid. Вы не установили его. Купите его у продавца: http://www.lingua -systems.com / request-quote / index.html? Product = lid

...