天天看點

ubuntu 15.10 安裝 coreseek記錄

事前準備

安裝編譯環境和mysql用戶端

sudo apt-get install make gcc g++ automake libtool mysql-client libmysqlclient-dev libxml2-dev libexpat1-dev python-dev
           

網上的文章如果照抄,在ubuntu15.10上是會報錯的,就是libmysqlclient-dev這個東西,網文都無一例外的寫為libmysqlclient15-dev,實際上新版ubuntu上已經沒有這個包了。 另外python-dev也是個坑,ubuntu預設是沒有安裝這個包的,如果這一步不安裝上,到最後make那一步會出錯,提示沒找到Python.h檔案

下載下傳coreseek源碼包并解包

wget http://www.coreseek.cn/uploads/csft/4.0/coreseek-4.1-beta.tar.gz 
tar xvf coreseek-4.1-beta.tar.gz
cd coreseek-4.1-beta
           

安裝mmseg分詞程式

cd mmseg-3.2.14
./bootstrap
./configure --prefix=/usr/local/mmseg3 //這裡據說不用他預設的來會出問題,就沒嘗試
make 
sudo make install
cd ..
cd csft-4.1
           

##安裝coreseek

修改一些檔案

如果不做修改,編譯會出問題,本文的重點就在這裡。 文檔上寫着安裝coreseek第一步是這樣,這一步的目的是生成配置檔案

sh buildconf.sh
           

然而如果你執行了這行代碼,實際上是沒能生成配置檔案的,大概因為編譯環境版本太新了,一些老腳本會有問題 下面我們手工糾正一下

vim csft-4.1/buildconf.sh //沒有vim自行安裝或用其他編輯器都行

           

顯示為

#! /bin/sh

autoheader \
&& aclocal \
&& automake --foreign \
&& autoconf
           

找到automake行,修改為

#! /bin/sh

autoheader \
&& aclocal \
&& automake --foreign --add-missing \
&& autoconf
           

儲存退出 還不算完

vim configure.ac
           

查找這一行:

AM_INIT_AUTOMAKE([-Wall -Werror foreign]) 
           

修改為:

AM_INIT_AUTOMAKE([-Wall foreign])
           

查找這一行:

AC_PROG_RANLIB
           

下一行追加:

AM_PROG_AR
           

最後還要修改源碼:

vim src/sphinxexpr.cpp
           

查找如下代碼,

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

并全部替換為:

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

正式安裝coreseek

sh buildconf.sh
./configure --prefix=/usr/local/coreseek --without-unixodbc --with-mmseg --with-mmseg-includes=/usr/local/mmseg3/include/mmseg/ --with-mmseg-libs=/usr/local/mmseg3/lib/ --with-mysql --with-python
make
sudo make install
           

大功告成

轉載于:https://my.oschina.net/inuxor/blog/519408