Link

Linux Debian/Ubuntu

Debian GNU/LinuxおよびUbuntuでのインストール方法を紹介します。

下準備

apt-getによる必要なプログラム、ライブラリのインストール

$ sudo apt-get install gcc g++ make apache2 bison libexpat1-dev libicu-dev 

stmdのインストール

ここではデフォルトの形態素解析器にMeCabを指定しています。Mecabのインストールについては、[[こちら>インストール/MeCabのインストール]]をご覧ください。

$ tar zxf stmd-x.x.x.tar.gz
$ cd stmd-x.x.x
$ ./configure --with-icu-config=/usr/bin/icu-config \
              --with-defaultstemmer=MECAB \
              --enable-mecab=yes \
              --enable-kill3number=yes \
              --with-mecab-config=/usr/local/bin/mecab-config
$ make
$ sudo make install
  • Ubuntu-Server 12.04 でコンパイル時のリンクエラー。 Makefile中の -lystem の位置を変える。
      Makefile:120行付近
      stmd: $(STMDOBJ) libystem.a
      --      $(LINK) -o $@ $(STMDOBJ) -L. $(LDFLAGS) -lystem $(SLIBS) -lexpat $(LIBS)
      ++      $(LINK) -o $@ $(STMDOBJ) -L. -lystem $(LDFLAGS) $(SLIBS) -lexpat $(LIBS)
    

stmdが動作するかどうかの確認

$ cd t
$ ./chk tst2.xml
# <vector>[["コーディング",2],["タイプライター",1],... と出力されればOK

/etc/services に以下を追加

stmd            1234/tcp                        # stmd

/etc/inetd.conf に以下を追加

stmd    stream  tcp     nowait  nobody /usr/local/bin/in.stmd in.stmd

stmdのデーモンを起動

$ /usr/local/bin/stmd -d -u /tmp/stmd.sock

このとき過去にstmdを起動したことがあるとき、/tmp/stmd.sockが残っていますので、起動する前に削除してください。

getassocのインストール

$GETAROOTを/data/lib/getaとしています。

$ tar zxf getassoc-x.x.x.tar.gz
$ cd getassoc-x.x.x
$ ./configure --with-icu-config=/usr/bin/icu-config \
              --with-expatdir=/usr \
              --prefix=/data/lib/geta \
              --enable-allowerror=yes \
              --enable-lp64=yes  # 64bit OSの場合
$ make
$ sudo make install
  • enable-shared=yesでのコンパイル時、次のようなgetassocのリンクエラーが出たら
      libnwam.so: undefined reference to `utf8_appendCharSafeBody_48'
      libnwam.so: undefined reference to `utf8_nextCharSafeBody_48'
    
  • Makefile.inを修正し、./configureからやり直す
      Makefile.in: 260
      --         $(CC) -o $@ @ALLSRC@ $(SHLDFLAG)
      ++         $(CC) -o $@ @ALLSRC@ $(SHLDFLAG) @EVAL_BEGIN@@ICUCONFIG@
      --ldflags@EVAL_END@
    

make install後、/etc/apache2/site-available/default に以下を追加

ScriptAlias /getassoc/ /data/lib/geta/wbin/getassoc/