1.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 disabled2. 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 );
2.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
3.在最后测试的时候出现xmlpipe2 support NOT compiled in. To use xmlp ipe2, install missing XML libraries, reconfigure, and rebuild Sphinx错误
在Ubuntu下面安装:
#apt-get install libxml2-dev
#apt-get install libexpat1-dev
#apt-get install expat