情報科学屋さんを目指す人のメモ(FC2ブログ版)

何かのやり方や、問題の解決方法をどんどんメモするブログ。そんな大学院生の活動「キャッシュ」に誰かがヒットしてくれることを祈って。

ブログ内検索

スポンサーサイト このエントリーを含むはてなブックマーク

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

スポンサー広告 | 編集
このエントリーをはてなブックマークに追加 Clip to Evernote

64bit CentOSにmemcachedをインストール このエントリーを含むはてなブックマーク

CentOS 5 (x86_64、つまり64bit)に、memcached 1.2.8をインストールしようとまずはlibeventをインストール。

#yum install libevent

libeventのインストールはたったこれだけ。つづいて、memcachedもインストールしようと思って、

#yum install memcached

としたところ、

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: rsync.atworks.co.jp
 * updates: rsync.atworks.co.jp
 * addons: rsync.atworks.co.jp
 * extras: rsync.atworks.co.jp
Setting up Install Process
Parsing package install arguments
No package memcached available.
Nothing to do

と、表示されて終了。ようするに、memcachedなんていうパッケージは登録されてないよーということみたいです。いちよ、"#yum search memcached"をしてみると、

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: rsync.atworks.co.jp
* updates: rsync.atworks.co.jp
* addons: rsync.atworks.co.jp
* extras: rsync.atworks.co.jp
=============================== Matched: memcached ===============================
php-pecl-memcache.x86_64 : Extension to work with the Memcached caching daemon

のようになりました。やっぱりないみたいですね。ということで、ソースからインストールすることに。なので、以下のようにしてみました。

$wget http://memcached.googlecode.com/files/memcached-1.2.8.tar.gz
$tar zxf memcached-1.2.8.tar.gz
$cd memcached-1.2.8
$./configure --enable-64bit(←64bitなので)

しかし、ここでエラーになり、

checking build system type... Invalid configuration `x86_64-unknown-linux-': machine `x86_64-unknown-linux' not recognized
configure: error: /bin/sh ./config.sub x86_64-unknown-linux- failed

と、表示されてしまいました。最新バージョンのせいかと思って、memcached 1.2.6(http://memcached.googlecode.com/files/memcached-1.2.6.tar.gz)で同様にやってみるものの、同様のエラーが発生するため結局だめ。

で、結局困って、"./config.sub"や"./configure"を見てみたのですが、どこからそのエラーが表示されているかすぐには分からず。ということで、エラーの"checking build system type"という表示をたよりに、"./configure --help"を読んでみると、"--build"というオプションを発見。また、公式HPのインストール方法のところを読むと、"--enable-threads"というオプションを使っているので、それらをまとめて、

$./configure --build=x86_64-unknown-linux-gnu --enable-threads --enable-64bit

を実行してみました。すると、

checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/home/(ユーザ名)/memcached/memcached-1.2.8':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details.

と、表示されて、無事configureが実行されたみたいでした。って、よく見ると下の方にエラーが

特に、一番下に書いてある"no acceptable C compiler fount in $PATH"が怪しすぎるので、

#yum update gcc

にて、gccをインストール。そして、もう一度configureをしてみると、

$ ./configure --build=x86_64-unknown-linux-gnu --enable-threads --enable-64bit
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking whether gcc and cc understand -c and -o together... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking for libevent directory... configure: error: libevent is required. You can get it from http://www.monkey.org/~provos/libevent/

If it's already installed, specify its path using --with-libevent=/dir/

こんどは、libeventが見つからないみたいですね。インストールは実行したはずなので、libeventの場所を探します。で、"--with-libevent=/usr/lib64/"などをオプションに追加しても変わらず。

追記→このエラー「If it's already installed, specify its path using --with-libevent=/dir/」は、"yum install libevent-devel"コマンドを実行することで解決できるそうです。(まー様より)←追記終わり

もうこうなったら、libeventをインストールし直そうと、

$sudo yum remove libevent

として、

$wget http://www.monkey.org/~provos/libevent-1.4.10-stable.tar.gz
$tar xzf libevent-1.4.10-stable.tar.gz
$cd libevent-1.4.10-stable
$./configure
$make
$sudo make install

これでlibeventのインストールができたはずです。インストールは、/usr/local/lib/にされたみたいです(/usr/local/lib64/じゃなくて)。

$cd (memcachedのconfigureのあるディレクトリ)
$./configure --build=x86_64-unknown-linux-gnu --enable-threads --enable-64bit

として、ちゃんと終了しました!あとは、

$make
$sudo make install

として、インストールが完了しました。かなり道のりは長かったです。。。

記事の作りかけが吹っ飛んで、書き直しもしましたし…。

Linux | コメント:3 | トラックバック:0 | 編集
このエントリーをはてなブックマークに追加 Clip to Evernote

この記事のコメント

yum install libevent-devel

で解決できました。
2009-08-03 Mon 01:19 |  まー
報告ありがとうございます。

早速、本文に追記させていただきます。
2009-08-03 Mon 22:03 |  でぃどでぃど
このコメントは管理者の承認待ちです
2014-03-12 Wed 12:13 | 

コメントの投稿 エントリの新旧に関わらず、極力18時間中に返信します。














この記事のトラックバック

トラックバックURL:
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。