Chasen - インストール
Darts インストール
- Darts 0.3
http://chasen.org/~taku/software/darts/
2005-12-24: darts 0.3
Double Array の作成時に不正特殊をアクセスする可能性があるバグを修正
メソッド名の一部変更 (setArray を set_array になど)
rpm パッケージ配布の停止
# wget http://chasen.org/~taku/software/darts/src/darts-0...
# tar zxvf darts-0.3.tar.gz
# cd darts-0.3
# ./configure
# make
# make install
# cd ..
ChaSen インストール
- Chasen 2.3.3
http://chasen.naist.jp/hiki/ChaSen/
# wget http://chasen.aist-nara.ac.jp/stable/chasen/chasen...
# tar zxvf chasen-2.3.3.tar.gz
# cd chasen-2.3.3
# ./configure --with-darts=/usr/local/include --with-libiconv=/usr/local
# cp lib/dartsdic.cpp lib/dartsdic.cpp.org
- gcc(g++) verison 3.4.3以上でコンパイルが通らないので、以下のように修正
# diff lib/dartsdic.cpp.org lib/dartsdic.cpp
180c180,181# cd ..
< (const char*)keys[size] = key.data();
---
> // (const char*)keys[size] = key.data();
> keys[size] = (char*)key.data();
# make
- エラーが発生
dartsdic.cpp: In function `darts_t* da_open(char*, char*, char*)':
dartsdic.cpp:71: error: 'class Darts::DoubleArrayImpl<char, unsigned char, long int, long unsigned int, Darts::Length<char> >' has no member named 'setArray'
make[2]: *** [dartsdic.lo] エラー 1
make[2]: Leaving directory `/usr/local/src/chasen-2.3.3/lib'
make[1]: *** [all-recursive] エラー 1
make[1]: Leaving directory `/usr/local/src/chasen-2.3.3'
make: *** [all] エラー 2
- Darts 0.3の修正点「メソッド名の一部変更」にひっかかったらしい。
- 再度、修正する
# diff lib/dartsdic.cpp.org lib/dartsdic.cpp
71c71,72# make
< darts->setArray(cha_mmap_map(da->da_mmap));
---
> // darts->setArray(cha_mmap_map(da->da_mmap));
> darts->set_array(cha_mmap_map(da->da_mmap));
# make check
# make install
参考までに、この修正用のパッチを作成した。
2006年06月07日(水) 11:24:18 Modified by chando