CentOS5にTornadoとpycurlをインストールする
Tornadoが公開され一段と盛り上がりを見せつつあるPython界隈ですが、このビッグウェーブに乗らない手は無いのでTornadoをインストールしてみます。
Tornadoのインストール自体は簡単で、概要 — Tornado v0.2 documentationにある通りに進めれば終了です。ただし問題が一つだけあります
Tornadoのすべての機能を使用するためには、 PycURL と simplejson などのJSONライブラリをインストールする必要があります
どうやらpycurlをインストールする必要がありそう。simplejsonはpython2.6だとjsonとして入ってるから大丈夫だろうってことで、pycurlだけいつもどおりeasy_installで入れてみる
$ sudo easy_install pycurl
とやると、大量のエラーが。適当に眺めてみると以下のような文が
src/pycurl.c:61:4: error: #error "Need libcurl version 7.19.0 or greater to compile pycurl."
ふむふむ、どうやらlibcurlのバージョンが悪いらしい。yumでどのバージョンが入ってるのか確認
$ yum list installed | grep curl curl.i386 7.15.5-2.el5 installed curl.x86_64 7.15.5-2.el5 installed curl-devel.i386 7.15.5-2.el5 installed curl-devel.x86_64 7.15.5-2.el5 installed
なんか色々入ってたけど、とりあえずバージョンが古い事はわかった。yumだとこれ以上新しいバージョンが入らないっぽいので、結局ソースから入れるのが良さそう
とりあえずyumで入れたcurlを削除
$ sudo yum remove curl Removing: curl i386 7.15.5-2.el5 installed 463 k curl x86_64 7.15.5-2.el5 installed 471 k Removing for dependencies: curl-devel i386 7.15.5-2.el5 installed 637 k curl-devel x86_64 7.15.5-2.el5 installed 743 k gnupg x86_64 1.4.5-13 installed 4.4 M spamassassin x86_64 3.2.4-1.el5 installed 2.6 M
依存関係で何か変なのも消えるけど、大丈夫だよね?
無事に削除できたら、今度はlibcurlのソースを落として来る。rpmとかあるように見えるけどやっぱりソースからだろ、JK
libcurlはから落として来る
以下手順
$ wget http://curl.haxx.se/download/curl-7.19.6.tar.gz $ tar xvzf curl-7.19.6.tar.gz $ cd curl-7.19.6 $ ./configure --enable-http --enable-ipv6 --enable-nonblocking --enable-thread --enable-cookie --enable-crypto-auth --with-ssl $ make $ sudo make install
configureのオプションは超適当です。よさげなHTTPライブラリ - libcurl - にたまごほうれん草を参考にした
というわけでlibcurlのバージョンがあがったので、pycurlをインストールしてみると無事にインストールできました。
これでTornadoが試せるんだぜ!