zhparser是一个比较好的中文全文检索工具,用在Postgresql中,用于全文检索,它底层使用scws中文分词系统。
zhparser用的scws的动态链接库,需要把scws进行share方式才能使用,否则在编译zhparser时会报错误。
(在某些Linux发行版中,下面的设置是默认的,所以不会报错。)
/usr/local/bin/ld: /usr/local/lib/libscws.a(scws.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libscws.a: error adding symbols: Bad value
所以在编译scws之前,要先指定-fPIC:
setenv CC gcc48
setenv CFLAGS –fPIC
./configure --prefix=/usr/local/scws
这样,在编译的过程中,才能看到 –fPIC的字样。
然后编译zhparser,编译之前也要指定一个SCWS_HOME的环境变量:
setenv SCWS_HOME /usr/local/scws
make && make install
该贴由hui.chen转至本版2014-11-5 17:04:58