Coreseek®  
 | 首页 | 注册 | 回复 | 搜索 | 统计资料 |                 网站首页产品服务开放源码安装使用常见问题中文手册社区交流联系我们 
全文检索 论坛首页 / 全文检索 /

redhat下编译出错

 
lordlinier
会员
#1 | 发表时间: 2009 02 25 15:14
回复 
错误信息如下

pydatasource.cpp: In member function 鈜irtual bool CSphSource_Python::Connect(CSphString&)?
pydatasource.cpp:147: warning: converting to non-pointer type 鈈ool?from NULL
pydatasource.cpp:151: warning: converting to non-pointer type 鈈ool?from NULL
pydatasource.cpp: In member function 鈈ool CSphSource_Python::CheckResult(PyObject*)?
pydatasource.cpp:306: warning: dereferencing type-punned pointer will break strict-aliasing rules
pydatasource.cpp: In member function 鈜irtual BYTE** CSphSource_Python::NextDocument(CSphString&)?
pydatasource.cpp:526: warning: unused variable 鈔Idx?
pydatasource.cpp:586: warning: dereferencing type-punned pointer will break strict-aliasing rules
pydatasource.cpp: In function 釶yObject* GetObjectAttr(PyObject*, const char*)?
pydatasource.cpp:742: error: invalid conversion from 鈉onst char*?to 鈉har*?
pydatasource.cpp:742: error:   initializing argument 2 of 釶yObject* PyObject_GetAttrString(PyObject*, char*)?
make[2]: *** [pydatasource.o] Error 1
make[2]: Leaving directory `/root/software/csft3.1b3/src'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/root/software/csft3.1b3/src'
make: *** [all-recursive] Error 1
rzhome
会员
#2 | 发表时间: 2009 02 25 15:50
回复 
这个问题是源代码包里的pydatasource.cpp有几处代码错误
可以参考一下http://www.coreseek.com/forum/index.php?action=vthread&topic=141&forum=2&page=0这篇帖子解决问题。

现在下载的源代码包中也还没有解决此问题。
lordlinier
会员
#3 | 发表时间: 2009 02 25 16:31
回复 
又出错了。。

/root/software/csft3.1b3/src/sphinx.cpp:19070: undefined reference to `libiconv_open'
/root/software/csft3.1b3/src/sphinx.cpp:19088: undefined reference to `libiconv'
/root/software/csft3.1b3/src/sphinx.cpp:19094: undefined reference to `libiconv_close'
libsphinx.a(tokenizer_zhcn.o): In function `CSphTokenizer_zh_CN_GBK::GetLocalBuffer(unsigned char*, int, unsigned char*)':
/root/software/csft3.1b3/src/tokenizer_zhcn.cpp:320: undefined reference to `libiconv'
libsphinx.a(tokenizer_zhcn.o): In function `CSphTokenizer_zh_CN_UTF8_Private::GetConverterOutput(char const*, char const*)':
/root/software/csft3.1b3/src/tokenizer_zhcn.cpp:78: undefined reference to `libiconv_open'
/root/software/csft3.1b3/src/tokenizer_zhcn.cpp:81: undefined reference to `libiconv'
libsphinx.a(tokenizer_zhcn.o): In function `CSphTokenizer_zh_CN_GBK::SetBuffer(unsigned char*, int)':
/root/software/csft3.1b3/src/tokenizer_zhcn.cpp:348: undefined reference to `libiconv'
libsphinx.a(tokenizer_zhcn.o): In function `CSphTokenizer_zh_CN_UTF8_Private::GetConverter(char const*, char const*)':
/root/software/csft3.1b3/src/tokenizer_zhcn.cpp:62: undefined reference to `libiconv_open'
/root/software/csft3.1b3/src/tokenizer_zhcn.cpp:65: undefined reference to `libiconv'
libsphinx.a(tokenizer_zhcn.o): In function `~CSphTokenizer_zh_CN_UTF8_Private':
/root/software/csft3.1b3/src/tokenizer_zhcn.cpp:35: undefined reference to `libiconv_close'
/root/software/csft3.1b3/src/tokenizer_zhcn.cpp:37: undefined reference to `libiconv_close'
/root/software/csft3.1b3/src/tokenizer_zhcn.cpp:35: undefined reference to `libiconv_close'
/root/software/csft3.1b3/src/tokenizer_zhcn.cpp:37: undefined reference to `libiconv_close'
/root/software/csft3.1b3/src/tokenizer_zhcn.cpp:35: undefined reference to `libiconv_close'
libsphinx.a(tokenizer_zhcn.o):/root/software/csft3.1b3/src/tokenizer_zhcn.cpp:37: more undefined references to `libiconv_close' follow
collect2: ld returned 1 exit status
make[2]: *** [indexer] Error 1
make[2]: Leaving directory `/root/software/csft3.1b3/src'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/root/software/csft3.1b3/src'
make: *** [all-recursive] Error 1
rzhome
会员
#4 | 发表时间: 2009 02 25 16:51
回复 
我给发我的安装过程,下面的东西是必须安装的,希望对你有帮助。
yum -y install glibc glibc-devel glib2 glib2-devel
yum install -y expat expat-devel
yum install -y python-devel MySQL-python

安装mmseg:
tar zxf mmseg3_0b3.tar.gz
cd mmseg3_0b3
./configure
make && make install && make clean
cd ../

安装libiconv
tar zxf libiconv-1.12.tar.gz
cd libiconv-1.12
./configure --prefix=/usr/local
make && make install && make clean
echo /usr/local/lib/ >> /etc/ld.so.conf
ldconfig
cd ../

安装csft
tar zxvf csft3.1b3.tar.gz
cd csft3.1b3
./configure --prefix=/usr/local/coreseek --with-mysql=/usr/local/mysql --with-mmseg-includes=/usr/local/include/mmseg --with-mmseg-libs=/usr/local/lib --with-python --enable-id64 --with-iconv


vi Makefile
LIBS = -lm -lexpat -L/usr/local/lib
里面去,变成这样:
LIBS = -lm -lexpat -L/usr/local/lib -liconv
vi src/Makefile
LIBS = -lm -lexpat -L/usr/local/lib
里面去,变成这样:
LIBS = -lm -lexpat -L/usr/local/lib -liconv

make
make install
make clean
lordlinier
会员
#5 | 发表时间: 2009 02 25 17:20
回复 
非常感谢,装上了,但是执行bin/indexer的时候却出现如下提示

./indexer: error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory
rzhome
会员
#6 | 发表时间: 2009 02 25 17:39
回复 
你忘记执行
echo /usr/local/lib/ >> /etc/ld.so.conf
ldconfig
linzhoulxyz
会员
#7 | 发表时间: 2009 07 14 16:47
回复 
非常感谢楼主,终于把这个问题解决了
skybluer
会员
#8 | 发表时间: 2009 08 20 15:11 | 修改: skybluer
回复 
在centos下出了跟3#一样的问题,解决了。非常感谢。
dir
会员
#9 | 发表时间: 2009 12 23 13:39
回复 
make[2]: *** [tokenizer_zhcn.o] 错误 1
make[2]: Leaving directory `/usr/local/csft-3.1/src'
make[1]: *** [all] 错误 2
make[1]: Leaving directory `/usr/local/csft-3.1/src'
make: *** [all-recursive] 错误 1
我报这个错误 怎么解决呢
HonestQiao
会员
#10 | 发表时间: 2010 06 13 11:04
回复 
提示信息太少,无法帮助。
 
回复
Bold Style  Italic Style  Image 链接  URL 链接 
发帖注意:
  • 网址中请去掉http://开头,例如:您需要输入www.coreseek.cn,而不是http://www.coreseek.cn
  • 咨询问题,请贴出详细的操作系统版本、Coreseek版本(Linux环境请给出编译参数)
  • 请仔细查看中文手册和本站安装指南,确认操作正确
  • 请仔细查看常见问题解答,也许你的问题已经有解决方法

» 帐号  » 密码 
发帖前请登陆, 或者 注册 .