Link

Solaris10

Solaris10でのインストール方法を紹介します。

下準備

(-m64で) eXpat、ICUをインストールしておきます。prefix は /usr/localとします。

stmdのインストール

  • ここではデフォルトの形態素解析器にMeCabを指定しています。

    $ tar zxf stmd-x.x.x.tar.gz
    $ cd stmd-x.x.x
    $ CFLAGS=-m64 LDFLAGS=-m64 configure --with-icu-config=/usr/local/bin/icu-config \
              --with-defaultstemmer=MECAB \
              --enable-mecab=yes \
              --enable-kill3number=yes \
              --with-mecab-config=/usr/local/bin/mecab-config
    $ make
    # make install
    
  • 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
    
  • 変更を反映

    # inetconv -i /etc/inet/inetd.conf
    

inetd版は、次の手動で起動したデーモンがダウンしたときのバックアップになります。

  • 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
  $ CFLAGS=-m64 LDFLAGS=-m64 ./configure --with-icu-config=/usr/local/bin/icu-config \
            --prefix=/data/lib/geta \
            --enable-allowerror=yes \
            --enable-xpthread=yes \        # Solaris は巨大メモリを掴んでの fork が苦手なので、pthreadを使うよう指示
            --enable-lp64=yes  # -m64 の場合
  $ make
  # make install
  • /etc/apache/httpd.conf に以下を追加

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

メモ

共有ライブラリ版の作成は面倒。