免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3281 | 回复: 4
打印 上一主题 下一主题

求助,perl安装Lucene模块失败! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-06-24 14:36 |只看该作者 |倒序浏览
    向给位求助!
    系统是Red Hat 6.4,perl版本是5.20,用cpan安装Lucene模块报错:
Reading '/home/xlwang/.cpan/Metadata'
  Database was generated on Mon, 23 Jun 2014 07:06:17 GMT
Running install for module 'Lucene'
Checksum for /home/xlwang/.cpan/sources/authors/id/T/TB/TBUSCH/Lucene-0.18.tar.gz ok
Configuring T/TB/TBUSCH/Lucene-0.18.tar.gz with Makefile.PL
couldn't find clucene config file at Makefile.PL line 34.
Warning: No success on command[/home/xlwang/local/bin/perl Makefile.PL]
  TBUSCH/Lucene-0.18.tar.gz
  /home/xlwang/local/bin/perl Makefile.PL -- NOT OK

    找不到clucene相关的文件,我用rpm -q查了一下系统,clucene-core和clucene-core-devel都在,然后我看了下makefile.pl,发现只搜索/usr/lib和/usr/local/lib。而clucene默认在/usr/lib64,于是我在makefile中加入了这个路径。
    这时make过程会有警告:
cpp/utils.cpp: In function ‘wchar_t* SvToWChar(SV*)’:
cpp/utils.cpp:75: 警告:不建议使用‘UV Perl_utf8_to_uvuni(const U8*, STRLEN*)’(声明于 /home/xlwang/local/lib/perl5/5.20.0/x86_64-linux/CORE/proto.h:4825)
cpp/utils.cpp:75: 警告:不建议使用‘UV Perl_utf8_to_uvuni(const U8*, STRLEN*)’(声明于 /home/xlwang/local/lib/perl5/5.20.0/x86_64-linux/CORE/proto.h:4825)
./xs/Constants.xs: In function ‘void XS_Lucene_CLUCENE_VERSION(CV*)’:
./xs/Constants.xs:78: 警告:不建议使用从字符串常量到‘char*’的转换
   
    而make test会报错:
Running Mkbootstrap for Lucene ()
chmod 644 Lucene.bs
PERL_DL_NONLAZY=1 /home/xlwang/local/bin/perl "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/00-load.t .. 1/1
#   Failed test 'use Lucene;'
#   at t/00-load.t line 6.
#     Tried to use 'Lucene'.
#     Error:  Can't load '/home/xlwang/Lucene-0.18/blib/arch/auto/Lucene/Lucene.so' for module Lucene: /usr/lib/../lib64/libclucene.so.0: undefined symbol: pthread_mutexattr_settype at /home/xlwang/local/lib/perl5/5.20.0/x86_64-linux/DynaLoader.pm line 193.
#  at t/00-load.t line 6.
# Compilation failed in require at t/00-load.t line 6.
# BEGIN failed--compilation aborted at t/00-load.t line 6.
# Testing Lucene 0.18, Perl 5.020000, /home/xlwang/local/bin/perl
# Looks like you failed 1 test of 1.
t/00-load.t .. Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/1 subtests

Test Summary Report
-------------------
t/00-load.t (Wstat: 256 Tests: 1 Failed: 1)
  Failed test:  1
  Non-zero exit status: 1
Files=1, Tests=1,  1 wallclock secs ( 0.04 usr  0.01 sys +  0.08 cusr  0.03 csys =  0.16 CPU)
Result: FAIL
Failed 1/1 test programs. 1/1 subtests failed.
make: *** [test_dynamic] 错误 1


    我不知道问题出在哪里,请大家帮我看看!谢谢!

论坛徽章:
0
2 [报告]
发表于 2014-06-24 14:46 |只看该作者
可能最重要的错误信息就是:
Error:  Can't load '/home/xlwang/Lucene-0.18/blib/arch/auto/Lucene/Lucene.so' for module Lucene: /usr/lib/../lib64/libclucene.so.0: undefined symbol: pthread_mutexattr_settype at /home/xlwang/local/lib/perl5/5.20.0/x86_64-linux/DynaLoader.pm line 193.

可是我不知道怎么解决,google也没找到答案!还请各位达人看看怎么回事

论坛徽章:
6
丑牛
日期:2014-03-21 15:42:04子鼠
日期:2014-04-12 11:50:17处女座
日期:2014-09-01 09:25:1115-16赛季CBA联赛之吉林
日期:2015-12-22 14:01:5215-16赛季CBA联赛之广东
日期:2016-03-08 18:49:422016科比退役纪念章
日期:2016-07-06 12:19:55
3 [报告]
发表于 2014-06-24 21:06 |只看该作者
表示看不懂。{:3_199:}
搜了一下cpan,Lucene既然是API to the C++ port of the Lucene search engine
建议你装一下这个search engine

论坛徽章:
0
4 [报告]
发表于 2014-06-26 13:20 |只看该作者
直接原因是报加载动态库时没有找到函数,undefined symbol: pthread_mutexattr_settype
好像是运行时没有链接到pthread库。

你的perl是自己编译安装的,可以perl -V 看一下libpth, 这个值好像在 Config.pm能修改,可以试试看。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
5 [报告]
发表于 2014-06-27 07:19 |只看该作者
这种年久失修的C模块能出的问题太多了,Lucene版本升级而发生的库函数变化就会造成这个问题,Perl的版本变化也会有影响
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP