ubuntu 安装coreseek报错解决方法

前端之家收集整理的这篇文章主要介绍了ubuntu 安装coreseek报错解决方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

错误一: coreseek无法生成configure文件

错误信息如下:

libstemmer_c/mkinc.mak:10: warning: source file 'runtime/utilities.c' is in a subdirectory,libstemmer_c/mkinc.mak:10: but option 'subdir-objects' is disabled  
libstemmer_c/Makefile.am:3: 'libstemmer_c/mkinc.mak' included from here  
libstemmer_c/mkinc.mak:10: warning: source file 'libstemmer/libstemmer.c' is in a subdirectory,libstemmer_c/mkinc.mak:10: but option 'subdir-objects' is disabled  
libstemmer_c/Makefile.am:3: 'libstemmer_c/mkinc.mak' included from here  
/usr/local/share/automake-1.14/am/library.am: warning: 'libstemmer.a': linking libraries using a non-POSIX  
/usr/local/share/automake-1.14/am/library.am: archiver requires 'AM_PROG_AR' in 'configure.ac'  
libstemmer_c/Makefile.am:2: while processing library 'libstemmer.a'  
/usr/local/share/automake-1.14/am/library.am: warning: 'libsphinx.a': linking libraries using a non-POSIX  
/usr/local/share/automake-1.14/am/library.am: archiver requires 'AM_PROG_AR' in 'configure.ac'  
src/Makefile.am:14: while processing library 'libsphinx.a'

看起来非常多其实就是两个:

1、but option 'subdir-objects' is disabled    
2、archiver requires 'AM_PROG_AR' in 'configure.ac'

解决方案:

1、在 csft-4.1/buildconf.sh 文件中,查找

&& aclocal \ 

加上

&& automake --add-missing \

2、在 csft-4.1/configure.ac 文件中,查找:

AM_INIT_AUTOMAKE([-Wall -Werror foreign]) 

改为:

AM_INIT_AUTOMAKE([-Wall foreign]) 

查找:

AC_PROG_RANLIB

后面加上

AM_PROG_AR

3、最后,在 csft-4.1/src/sphinxexpr.cpp 文件中, 替换所有:

T val = ExprEval ( this->m_pArg,tMatch );

成为:

T val = this->ExprEval ( this->m_pArg,tMatch );

错误二: make && make install出错

错误现象:执行 buildconf.sh 报错,无法生成configure文件

提示的主要错误为:

/setup/coreseek-3.2.14/csft-3.2.14/src/sphinx.cpp:20719: undefined reference to `libiconv_open' 
/setup/coreseek-3.2.14/csft-3.2.14/src/sphinx.cpp:20737: undefined reference to `libiconv' 
/setup/coreseek-3.2.14/csft-3.2.14/src/sphinx.cpp:20743: undefined reference to `libiconv_close' 
collect2: ld 返回 1 
make[2]: *** [indexer] 错误 1 
make[2]: Leaving directory `/setup/coreseek-3.2.14/csft-3.2.14/src' 
make[1]: *** [all] 错误 2 
make[1]: Leaving directory `/setup/coreseek-3.2.14/csft-3.2.14/src' 
make: *** [all-recursive] 错误 1

解决方法
编辑:

./src/MakeFile文件

LIBS = -ldl -lm -lz -lexpat -L/usr/local/lib -lrt -lpthread

改成

LIBS = -ldl -lm -lz -lexpat  -liconv  -L/usr/local/lib -lrt -lpthread
原文链接:https://www.f2er.com/ubuntu/351193.html

猜你在找的Ubuntu相关文章