Cygwin環境にmemcachedをインストールしてみた
読了まで:約3分
概要: Cygwin で
個人的にApplish
の
今回は
1. ソースコードの取得
$ cd ~/tmp
$ wget http://memcached.googlecode.com/files/memcached-1.4.5.tar.gz
2. libevent
のインストール
memcached のlibevent
を
こっちは
$ wget http://monkey.org/~provos/libevent-1.4.14b-stable.tar.gz
$ tar zxvf libevent-1.4.14b-stable.tar.gz
$ cd libevent-1.4.14b-stable
$ ./configure --prefix=/usr/local/libevent
$ make
$ make install
で./configure
の
3. memcached
のソースコード修正
で、memcached
に
まず、util.c
で、memcached
の生の
で、
- <http://github.com/lindner/memcached/ http://github.com/lindner/memcached/>
のutil.c
で、memcached
のutil.c
を
で、testapp.c
の
testapp.c
に
testapp.c: In function 'cache_redzone_test':
testapp.c:125: error: unknown field 'sa_handler' specified in initializer
cc1: warnings being treated as errors
みたいな
でunknown field 'sa_handler' specified in initializer
まあ僕は
で
sahandler が
さらに #include <signal.h> void func(void) struct sigaction action; action.sa_handler = SIG_IGN; action.sa_flags = 0;内部で union の メンバに なっているからと いう オチである。 ちなみに 普通に メンバに 代入するように 書くと、 コンパイルできるのは 何故なのだろうか ? *1code:
と
で、testapp.c
の
code:_ struct sigaction action = .sa_handler = SIG_IGN, .sa_flags = 0;
と
struct sigaction action;
action.sa_handler = SIG_IGN;
action.sa_flags = 0;
と
4. memcached
のコンパイル
これでmemcached
の
$ cd ~/tmp/memcached-1.4.5
$ ./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent
$ make
$ make test
$ make install
すればmemcached
を
ちなみにmake test
まあmake test
で
とmemcached
の
5. 以上終了。以下感想
まあmemcached
をmemcached
はmemcached
を
とmemcached
を
#FIXME