[Senna-dev 331] Re: N-gramインデックスによるsennaのインストールについて

Back to archive index

taku miyamoto taku_miyam****@dwang*****
2006年 9月 13日 (水) 18:57:39 JST


末永様

お世話になっております。
宮本です。



> > お忙しい中、いつも細やかなご指摘いただき本当にありがとうございます。
> そ、そんなに恐縮しなくていいと思いますよ。
> 寝ずに24時間サポートしているわけでもないですし。。

きょ、恐縮です‥


> >> g++をインストール、もしくはexport CXX="gcc"の設定を行って
> >> 再度configureを実行してみてください。
> > 
> > 上記ページを参考にしながらインストールにチャレンジさせていただきます。
> うまくいったら、
> 報告いただけると大変嬉しいです。

インストールがうまくいきました!!

g++ はすでにインストールされていたのですが、configure 時に

CXX=gcc 
CXXFLAGS="-O3 -mtune=pentium4 -felide-constructors -fno-exceptions
-fno-rtti -I/usr/local/include" 
LDFLAGS="-L/usr/local/lib" 

を指定していたのが仇になっていた(?)ようです。

export CXX="gcc" を行っても gcc で make しても、g++ で make してもどちら
の場合も問題なくコンパイルを終了することができることを確認いたしました。



さて、今後 senna をインストールされるかたの助力になればと思い、以下にこ
れまで私の行ったインストール作業を記させていただきたいと思います。


なお、以下は N-gramIndex の Senna と sjis の文字コード環境によるインストー
ル作業になります。



【libtool/autoconf/automake/bison ソースインストール】
libtool/autoconf/automake/bison のバージョンが低ければ入れなおす。
----------------------------------------------------------------------------------------------------
# ./configure --prefix=/usr
# make
# make install
----------------------------------------------------------------------------------------------------
※ここで libtool について --prefix=/usr 以外を指定した場合、
MySQL のバインド時に別途作業の必要がある恐れあり。




【senna ソースインストール】
----------------------------------------------------------------------------------------------------
 # tar xzvf senna-0.8.1.tar.gz
 # cd senna-0.8.1
 # ./configure --prefix=/usr --without-mecab
 # make
 # make install
 # mkdir /var/senna
 # emacs /var/senna/senna.conf
 ↓senna.conf に以下を記述
DEFAULT_ENCODING sjis
----------------------------------------------------------------------------------------------------




【MySQL 4.0.27 with Senna ソースインストール】
----------------------------------------------------------------------------------------------------
 # cd ..
 # tar xvfz mysql-4.0.27.tar.gz
 # cd mysql-4.0.27
 # patch -p1 < ../senna-0.8.1/bindings/mysql/mysql-4.0.27.senna.diff
 # patch -p1 < ../senna-0.8.1/bindings/mysql/mysql-4.0.27.senna.2ind.diff
 # libtoolize -c -f
 # aclocal-1.9
 # autoheader
 # automake-1.9 -c -a -i
 # autoconf
 # touch sql/sql_yacc.yy
 # ./configure 
 --with-senna 
 --without-mecab 
 --prefix=/usr/local/mysql 
 --enable-assembler 
 --with-charset=sjis 
 --with-extra-charsets=all 
 --enable-thread-safe-client 
 --with-readline 
 --localstatedir=/var/lib/mysql 
 --with-named-curses-libs=/usr/lib/libncurses.so.5
 # make
 # make install
----------------------------------------------------------------------------------------------------

◆libtool のインストールディレクトリが /usr 直下でない場合
autoconf の実行時に以下のようなエラーが出る恐れあり(?)

対処法として mysql のアーカイブを解凍した時点で、configure 及び configure.in 内の

  LIBTOOL="$LIBTOOL --preserve-dup-deps"

の部分を、$LIBTOOL の部分に libtool のバイナリのパスを記述することで、
上記エラーを解消できるものと思われます。
(参考)[Senna-dev 316] の島村様によるメール(島村様、ありがとうございます。)


◆ libtoolize -c -f で以下のエラーが出る
  Using `AC_PROG_RANLIB' is rendered obsolete by `AC_PROG_LIBTOOL'

(対処) 無視する

◆ aclocal-1.9 / autoheader の実行で warning がいっぱい出る
(対処) 無視する(で、いいのでしょうか‥?


◆make がエラーで通らない(1)
  preserve-dup-deps --mode=compile gcc -DDEFAULT_CHARSET_HOME="\"/usr/local/mysql\"" 
  -DDATADIR="\"/var/lib/mysql\"" -DSHAREDIR="\"/usr/local/mysql/share/mysql\"" 
  -DDONT_USE_RAID -DMYSQL_CLIENT  -I. -I. -I.. -I./../include -I../include -I./.. -I.. -I..     
  -O3 -DDBUG_OFF    -c -o libmysql.lo libmysql.c
  /bin/sh: line 1: preserve-dup-deps: command not found
  
上記のようなエラーが大量に出力されて、make に失敗する場合、
おそらく、libtool の Makefile 内で、libtool の検出がうまくいっていないものと思われます。

上記、◆libtool のインストールディレクトリが /usr 直下でない場合 を参考
に libtool を検出する。


◆make がエラーで通らない(2)

  libmysql.c: In function `mysql_real_connect':
  libmysql.c:1863: warning: passing arg 5 of `gethostbyname_r' from incompatible pointer type
  libmysql.c:1863: too few arguments to function `gethostbyname_r'
  libmysql.c:1863: warning: assignment makes pointer from integer without a cast
  
上記のようなエラーログをはいて、make に失敗する場合、
http://dev.mysql.com/doc/refman/4.1/ja/compilation-problems.html によると、g++ をインストールするか、
export CXX=gcc とかして、コンパイラを g++ から gcc に変更してやるとよいそうです.
(参考)[Senna-dev 325]の末永様によるメール(末永様、ありがとうございます。)


【MySQLの起動】
----------------------------------------------------------------------------------------------------
 # cp -p ./support-files/my-medium.cnf /etc/my.cnf
 # ./scripts/mysql_install_db
 # chown -R mysql:mysql /var/lib/mysql
 # chmod +x ./support-files/mysql.server
 # ./support-files/mysql.server start
----------------------------------------------------------------------------------------------------




以上、末永様、島村様 お忙しい中ご助力いただき本当にありがとうございまし
た!!





Senna-dev メーリングリストの案内
Back to archive index