CentOS5にTokyoCabinetとPyTCをインストールする
何となく暇だったので、CentOS5にTOkyoCabinetをインストールしてみた。
moved
TokyoCabinet本体は上記リンクからダウンロード。最新版は1.4.14
$ wget http://tokyocabinet.sourceforge.net/tokyocabinet-1.4.14.tar.gz $ tar xvzf tokyocabinet-1.4.14.tar.gz $ cd tokyocabinet-1.4.14 $ ./configure $ make $ sudo make install
インストールはいつも通りやればうまくいく。あとで知ったんだけど、configureのオプション等は公式ページに詳しく載ってた。とりあえず試すだけなら何にもいらないんじゃないかな?
ここまではうまくいったんだけど、問題はTokyoCabinetのPythonバインディングであるPyTCのインストール。これで結構はまった。
とりあえず
$ sudo easy_install pytc
とすると、あっさりインストールできるんだけど、いざ使おうとすると以下のようなエラーがでた。
Python 2.6.1 (r261:67515, Dec 13 2008, 00:30:16) [GCC 4.1.2 20071124 (Red Hat 4.1.2-42)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import pytc Traceback (most recent call last): File "<stdin>", line 1, in <module> File "build/bdist.linux-x86_64/egg/pytc.py", line 7, in <module> File "build/bdist.linux-x86_64/egg/pytc.py", line 6, in __bootstrap__ ImportError: libtokyocabinet.so.8: cannot open shared object file: No such file or directory
何かよくわからないので、easy_installに頼るのをやめてソースを落としてきていれた
$ wget http://pypi.python.org/packages/source/p/pytc/pytc-0.7.tar.gz#md5=a7346ee22dbe772fbdcd989282335bd8 $ tar xvzf pytc-0.7.tar.gz $ cd pytc-0.7 $ sudo python2.6 setup.py build $ sudo python2.6 setup.py install
これまたあっさりインストールできたけど、実行してみると以下のようなエラーが出た
Python 2.6.1 (r261:67515, Dec 13 2008, 00:30:16) [GCC 4.1.2 20071124 (Red Hat 4.1.2-42)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import pytc Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: libtokyocabinet.so.8: cannot open shared object file: No such file or directory >>>
さっきよりはエラーメッセージが少なくなったけど、それでもエラー。エラーメッセージを見ると、libtokyocabinet.so.8が無いと言う事なので、探してみた。
$ locate libtokyocabinet.so.8 /usr/local/lib/libtokyocabinet.so.8
/usr/local/lib以下に配置されてた。この辺りで使いもしないTokyoCabinetのインストールになんでこんなに時間使ってんだと切れそうになったけど、がんばってぐぐった。最初は「libtokyocabinet.so.8」でぐぐってたけど、これじゃなくて「cannot open shared object file」でぐぐったらあっさり解決した。解決方法は以下のとおり
$ sudo vim /etc/ld.so.conf /usr/local/lib # /usr/local/libを追加 $ sudo /sbin/ldconfig
デフォルトでは/usr/local/libを見る設定になってないらしく、/etc/ld.so.confに追記する必要があった。最後に設定を反映させるためにldconfgをする必要がある
とりあえずこれでpytcをimportすることができたので、暇な時にいじってみたい。