読者です 読者をやめる 読者になる 読者になる

CentOS6.3へmemcachedをインストールする

ruby

play framework で開発をするために認証情報をデフォルトのキャッシュサーバーに持たせていたのですが、コンパイルが発生するたびにキャッシュがクリアされるため外部のキャッシュサーバーに認証情報を持ちたいと思い、memcashedをインストールしました。(結果的に、この判断はとてもよかったと思います。)

インストール対象

OS:CentOS 6.3(x86_64) memcached:v1.4.15

インストールの手順

詳しいことはこちらの公式ガイドを参照してください。 NewInstallFromSource - memcached - Using the Source, Luke - Memcached - Google Project Hosting

インストールの準備

インストールでは下記パッケージが必要となるためあらかじめインストールします。

  1. libevent
  2. libevent-devel

[bash] [root@base ~]# yum install libevent libevent-devel Loaded plugins: downloadonly, fastestmirror, priorities Loading mirror speeds from cached hostfile epel/metalink | 3.1 kB 00:00 * base: ftp.iij.ad.jp * epel: ftp.tsukuba.wide.ad.jp * extras: ftp.iij.ad.jp * updates: ftp.iij.ad.jp base | 3.7 kB 00:00 epel | 4.3 kB 00:00 epel/primary_db | 4.9 MB 00:00 extras | 3.5 kB 00:00 updates | 3.5 kB 00:00 86 packages excluded due to repository priority protections Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package libevent.x86_64 0:1.4.13-4.el6 will be installed ---> Package libevent-devel.x86_64 0:1.4.13-4.el6 will be installed --> Processing Dependency: libevent-headers = 1.4.13-4.el6 for package: libevent-devel-1.4.13-4.el6.x86_64 --> Processing Dependency: libevent-doc = 1.4.13-4.el6 for package: libevent-devel-1.4.13-4.el6.x86_64 --> Running transaction check ---> Package libevent-doc.noarch 0:1.4.13-4.el6 will be installed ---> Package libevent-headers.noarch 0:1.4.13-4.el6 will be installed --> Finished Dependency Resolution

Dependencies Resolved


Package Arch Version Repository Size

Installing: libevent x86_64 1.4.13-4.el6 base 66 k libevent-devel x86_64 1.4.13-4.el6 base 74 k Installing for dependencies: libevent-doc noarch 1.4.13-4.el6 base 194 k libevent-headers noarch 1.4.13-4.el6 base 30 k

Transaction Summary

Install 4 Package(s)

Total download size: 363 k Installed size: 1.6 M Is this ok [y/N]: y Downloading Packages: (1/4): libevent-1.4.13-4.el6.x86_64.rpm | 66 kB 00:00 (2/4): libevent-devel-1.4.13-4.el6.x86_64.rpm | 74 kB 00:00 (3/4): libevent-doc-1.4.13-4.el6.noarch.rpm | 194 kB 00:00

(4/4): libevent-headers-1.4.13-4.el6.noarch.rpm | 30 kB 00:00

Total 2.0 MB/s | 363 kB 00:00 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : libevent-1.4.13-4.el6.x86_64 1/4 Installing : libevent-doc-1.4.13-4.el6.noarch 2/4 Installing : libevent-devel-1.4.13-4.el6.x86_64 3/4 Installing : libevent-headers-1.4.13-4.el6.noarch 4/4 Verifying : libevent-headers-1.4.13-4.el6.noarch 1/4 Verifying : libevent-1.4.13-4.el6.x86_64 2/4 Verifying : libevent-devel-1.4.13-4.el6.x86_64 3/4 Verifying : libevent-doc-1.4.13-4.el6.noarch 4/4

Installed: libevent.x86_64 0:1.4.13-4.el6 libevent-devel.x86_64 0:1.4.13-4.el6

Dependency Installed: libevent-doc.noarch 0:1.4.13-4.el6 libevent-headers.noarch 0:1.4.13-4.el6

Complete!

[/bash]

ソースコードを取得してインストールする

インストールするソースコードを取得しパッケージの準備も行ったら、makeしてmake testをしたあとにmake install でインストールします。今回のインストール先は /usr/local/memcached を指定しました。

[bash] $wget http://memcached.org/latest --2012-12-30 16:06:20-- http://memcached.org/latest memcached.org をDNSに問いあわせています... 69.46.88.68 memcached.org|69.46.88.68|:80 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 302 Found 場所: http://memcached.googlecode.com/files/memcached-1.4.14.tar.gz [続く] --2012-12-30 16:06:20-- http://memcached.googlecode.com/files/memcached-1.4.14.tar.gz memcached.googlecode.com をDNSに問いあわせています... 173.194.72.82 memcached.googlecode.com|173.194.72.82|:80 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 200 OK 長さ: 321262 (314K) [application/x-gzip] `memcached-1.4.14.tar.gz' に保存中

100%[============================================================================>] 321,262 1.92M/s 時間 0.2s

2012-12-30 16:06:20 (1.92 MB/s) - `memcached-1.4.14.tar.gz' へ保存完了 [321262/321262]

$ tar -zxvf memcached-1.4.14.tar.gz memcached-1.4.14/ memcached-1.4.14/Makefile.am memcached-1.4.14/trace.h memcached-1.4.14/config.guess memcached-1.4.14/cache.c memcached-1.4.14/util.c memcached-1.4.14/assoc.c memcached-1.4.14/scripts/ memcached-1.4.14/scripts/memcached-tool memcached-1.4.14/scripts/damemtop.yaml memcached-1.4.14/scripts/mc_slab_mover memcached-1.4.14/scripts/README.damemtop memcached-1.4.14/scripts/damemtop memcached-1.4.14/scripts/start-memcached memcached-1.4.14/scripts/memcached.service memcached-1.4.14/scripts/memcached-init memcached-1.4.14/scripts/memcached.sysv memcached-1.4.14/items.h memcached-1.4.14/AUTHORS memcached-1.4.14/config.h.in memcached-1.4.14/timedrun.c memcached-1.4.14/util.h memcached-1.4.14/sasl_defs.h memcached-1.4.14/missing memcached-1.4.14/cache.h memcached-1.4.14/memcached.h memcached-1.4.14/t/ memcached-1.4.14/t/daemonize.t memcached-1.4.14/t/slabs_reassign.t memcached-1.4.14/t/noreply.t memcached-1.4.14/t/binary.t memcached-1.4.14/t/udp.t memcached-1.4.14/t/dash-M.t memcached-1.4.14/t/issue_14.t memcached-1.4.14/t/bogus-commands.t memcached-1.4.14/t/whitespace.t memcached-1.4.14/t/issue_67.t memcached-1.4.14/t/stats.t memcached-1.4.14/t/stats-detail.t memcached-1.4.14/t/issue_183.t memcached-1.4.14/t/issue_152.t memcached-1.4.14/t/issue_42.t memcached-1.4.14/t/cas.t memcached-1.4.14/t/issue_163.t memcached-1.4.14/t/flush-all.t memcached-1.4.14/t/issue_108.t memcached-1.4.14/t/issue_61.t memcached-1.4.14/t/maxconns.t memcached-1.4.14/t/line-lengths.t memcached-1.4.14/t/unixsocket.t memcached-1.4.14/t/00-startup.t memcached-1.4.14/t/issue_41.t memcached-1.4.14/t/binary-sasl.t memcached-1.4.14/t/issue_29.t memcached-1.4.14/t/stress-memcached.pl memcached-1.4.14/t/evictions.t memcached-1.4.14/t/issue_3.t memcached-1.4.14/t/flags.t memcached-1.4.14/t/issue_104.t memcached-1.4.14/t/lib/ memcached-1.4.14/t/lib/MemcachedTest.pm memcached-1.4.14/t/issue_70.t memcached-1.4.14/t/issue_140.t memcached-1.4.14/t/issue_22.t memcached-1.4.14/t/incrdecr.t memcached-1.4.14/t/lru.t memcached-1.4.14/t/getset.t memcached-1.4.14/t/touch.t memcached-1.4.14/t/multiversioning.t memcached-1.4.14/t/issue_50.t memcached-1.4.14/t/issue_68.t memcached-1.4.14/t/expirations.t memcached-1.4.14/t/binary-get.t memcached-1.4.14/t/sasl/ memcached-1.4.14/t/sasl/memcached.conf memcached-1.4.14/t/64bit.t memcached-1.4.14/t/item_size_max.t memcached-1.4.14/stats.c memcached-1.4.14/daemon.c memcached-1.4.14/hash.h memcached-1.4.14/stats.h memcached-1.4.14/hash.c memcached-1.4.14/install-sh memcached-1.4.14/assoc.h memcached-1.4.14/sasl_defs.c memcached-1.4.14/testapp.c memcached-1.4.14/memcached.c memcached-1.4.14/version.m4 memcached-1.4.14/items.c memcached-1.4.14/depcomp memcached-1.4.14/slabs.h memcached-1.4.14/config.sub memcached-1.4.14/slabs.c memcached-1.4.14/sizes.c memcached-1.4.14/NEWS memcached-1.4.14/m4/ memcached-1.4.14/m4/c99-backport.m4 memcached-1.4.14/Makefile.in memcached-1.4.14/solaris_priv.c memcached-1.4.14/ChangeLog memcached-1.4.14/COPYING memcached-1.4.14/configure.ac memcached-1.4.14/memcached.spec memcached-1.4.14/thread.c memcached-1.4.14/protocol_binary.h memcached-1.4.14/configure memcached-1.4.14/aclocal.m4 memcached-1.4.14/memcached_dtrace.d memcached-1.4.14/doc/ memcached-1.4.14/doc/Makefile.am memcached-1.4.14/doc/Doxyfile memcached-1.4.14/doc/CONTRIBUTORS memcached-1.4.14/doc/memcached.1 memcached-1.4.14/doc/protocol-binary.xml memcached-1.4.14/doc/protocol-binary-range.xml memcached-1.4.14/doc/readme.txt memcached-1.4.14/doc/Makefile.in memcached-1.4.14/doc/xml2rfc/ memcached-1.4.14/doc/xml2rfc/rfc2629-other.ent memcached-1.4.14/doc/xml2rfc/reference.RFC.0768.xml memcached-1.4.14/doc/xml2rfc/rfc2629-xhtml.ent memcached-1.4.14/doc/xml2rfc/rfc2629-noinc.xsl memcached-1.4.14/doc/xml2rfc/rfc2629-refchk.xsl memcached-1.4.14/doc/xml2rfc/rfc2629.dtd memcached-1.4.14/doc/protocol.txt memcached-1.4.14/doc/Makefile memcached-1.4.14/compile $ cd memcached-1.4.14 $ sudo mkdir /usr/local/memcached $ sudo chown user_name /usr/local/memcached/ [/bash]

makeを実行します。

[bash] $ ./configure --prefix=/usr/local/memcached 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 whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no 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 how to run the C preprocessor... gcc -E checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for icc in use... no checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking whether _SUNPRO_C is declared... no checking for gcc option to accept ISO C99... -std=gnu99 checking whether gcc -std=gnu99 and cc understand -c and -o together... yes checking sasl/sasl.h usability... no checking sasl/sasl.h presence... no checking for sasl/sasl.h... no checking for gcov... /usr/bin/gcov checking for main in -lgcov... yes checking for library containing clock_gettime... -lrt checking for library containing socket... none required checking for library containing gethostbyname... none required checking for libevent directory... (system) checking for library containing umem_cache_create... no checking for library containing gethugepagesizes... no checking for stdbool.h that conforms to C99... yes checking for Bool... yes checking for inttypes.h... (cached) yes checking for sasl_callback_ft... no checking for print macros for integers (C99 section 7.8.1)... yes checking for an ANSI C-conforming const... yes checking for socklen_t... yes checking for endianness... little checking for htonll... no checking for library containing pthread_create... none required checking for mlockall... yes checking for getpagesizes... no checking for memcntl... no checking for sigignore... yes checking for clock_gettime... yes checking for alignment... need checking for GCC atomics... yes checking for setppriv... no checking umem.h usability... no checking umem.h presence... no checking for umem.h... no checking for xml2rfc... no checking for xsltproc... no configure: creating ./config.status config.status: creating Makefile config.status: creating doc/Makefile config.status: creating config.h config.status: executing depfiles commands [/bash]

次に make && make test を実行します。

[bash] $ make && make test make all-recursive make[1]: ディレクトリ /home/ymanabe/memcached-1.4.14' に入ります Making all in doc make[2]: ディレクトリ/home/ymanabe/memcached-1.4.14/doc' に入ります make all-am make[3]: ディレクトリ /home/ymanabe/memcached-1.4.14/doc' に入ります make[3]:all-am' に対して行うべき事はありません. make[3]: ディレクトリ /home/ymanabe/memcached-1.4.14/doc' から出ます make[2]: ディレクトリ/home/ymanabe/memcached-1.4.14/doc' から出ます make[2]: ディレクトリ /home/ymanabe/memcached-1.4.14' に入ります gcc -std=gnu99 -DHAVE_CONFIG_H -I. -DNDEBUG -g -O2 -pthread -Wall -Werror -pedantic -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -fno-strict-aliasing -MT memcached-memcached.o -MD -MP -MF .deps/memcached-memcached.Tpo -c -o memcached-memcached.otest -f 'memcached.c' || echo './'memcached.c mv -f .deps/memcached-memcached.Tpo .deps/memcached-memcached.Po gcc -std=gnu99 -DHAVE_CONFIG_H -I. -DNDEBUG -g -O2 -pthread -Wall -Werror -pedantic -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -fno-strict-aliasing -MT memcached-hash.o -MD -MP -MF .deps/memcached-hash.Tpo -c -o memcached-hash.otest -f 'hash.c' || echo './'hash.c mv -f .deps/memcached-hash.Tpo .deps/memcached-hash.Po gcc -std=gnu99 -DHAVE_CONFIG_H -I. -DNDEBUG -g -O2 -pthread -Wall -Werror -pedantic -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -fno-strict-aliasing -MT memcached-slabs.o -MD -MP -MF .deps/memcached-slabs.Tpo -c -o memcached-slabs.otest -f 'slabs.c' || echo './'slabs.c mv -f .deps/memcached-slabs.Tpo .deps/memcached-slabs.Po gcc -std=gnu99 -DHAVE_CONFIG_H -I. -DNDEBUG -g -O2 -pthread -Wall -Werror -pedantic -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -fno-strict-aliasing -MT memcached-items.o -MD -MP -MF .deps/memcached-items.Tpo -c -o memcached-items.otest -f 'items.c' || echo './'items.c mv -f .deps/memcached-items.Tpo .deps/memcached-items.Po gcc -std=gnu99 -DHAVE_CONFIG_H -I. -DNDEBUG -g -O2 -pthread -Wall -Werror -pedantic -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -fno-strict-aliasing -MT memcached-assoc.o -MD -MP -MF .deps/memcached-assoc.Tpo -c -o memcached-assoc.otest -f 'assoc.c' || echo './'assoc.c mv -f .deps/memcached-assoc.Tpo .deps/memcached-assoc.Po gcc -std=gnu99 -DHAVE_CONFIG_H -I. -DNDEBUG -g -O2 -pthread -Wall -Werror -pedantic -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -fno-strict-aliasing -MT memcached-thread.o -MD -MP -MF .deps/memcached-thread.Tpo -c -o memcached-thread.otest -f 'thread.c' || echo './'thread.c mv -f .deps/memcached-thread.Tpo .deps/memcached-thread.Po gcc -std=gnu99 -DHAVE_CONFIG_H -I. -DNDEBUG -g -O2 -pthread -Wall -Werror -pedantic -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -fno-strict-aliasing -MT memcached-daemon.o -MD -MP -MF .deps/memcached-daemon.Tpo -c -o memcached-daemon.otest -f 'daemon.c' || echo './'daemon.c mv -f .deps/memcached-daemon.Tpo .deps/memcached-daemon.Po gcc -std=gnu99 -DHAVE_CONFIG_H -I. -DNDEBUG -g -O2 -pthread -Wall -Werror -pedantic -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -fno-strict-aliasing -MT memcached-stats.o -MD -MP -MF .deps/memcached-stats.Tpo -c -o memcached-stats.otest -f 'stats.c' || echo './'stats.c mv -f .deps/memcached-stats.Tpo .deps/memcached-stats.Po gcc -std=gnu99 -DHAVE_CONFIG_H -I. -DNDEBUG -g -O2 -pthread -Wall -Werror -pedantic -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -fno-strict-aliasing -MT memcached-util.o -MD -MP -MF .deps/memcached-util.Tpo -c -o memcached-util.otest -f 'util.c' || echo './'util.c mv -f .deps/memcached-util.Tpo .deps/memcached-util.Po gcc -std=gnu99 -DHAVE_CONFIG_H -I. -DNDEBUG -g -O2 -pthread -Wall -Werror -pedantic -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -fno-strict-aliasing -MT memcached-cache.o -MD -MP -MF .deps/memcached-cache.Tpo -c -o memcached-cache.otest -f 'cache.c' || echo './'cache.c mv -f .deps/memcached-cache.Tpo .deps/memcached-cache.Po gcc -std=gnu99 -g -O2 -pthread -Wall -Werror -pedantic -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -fno-strict-aliasing -o memcached memcached-memcached.o memcached-hash.o memcached-slabs.o memcached-items.o memcached-assoc.o memcached-thread.o memcached-daemon.o memcached-stats.o memcached-util.o memcached-cache.o -levent -lrt gcc -std=gnu99 -DHAVE_CONFIG_H -I. -fprofile-arcs -ftest-coverage -g -O2 -pthread -Wall -Werror -pedantic -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -fno-strict-aliasing -MT memcached_debug-memcached.o -MD -MP -MF .deps/memcached_debug-memcached.Tpo -c -o memcached_debug-memcached.otest -f 'memcached.c' || echo './'memcached.c mv -f .deps/memcached_debug-memcached.Tpo .deps/memcached_debug-memcached.Po gcc -std=gnu99 -DHAVE_CONFIG_H -I. -fprofile-arcs -ftest-coverage -g -O2 -pthread -Wall -Werror -pedantic -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -fno-strict-aliasing -MT memcached_debug-hash.o -MD -MP -MF .deps/memcached_debug-hash.Tpo -c -o memcached_debug-hash.otest -f 'hash.c' || echo './'hash.c mv -f .deps/memcached_debug-hash.Tpo .deps/memcached_debug-hash.Po gcc -std=gnu99 -DHAVE_CONFIG_H -I. -fprofile-arcs -ftest-coverage -g -O2 -pthread -Wall -Werror -pedantic -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -fno-strict-aliasing -MT memcached_debug-slabs.o -MD -MP -MF .deps/memcached_debug-slabs.Tpo -c -o memcached_debug-slabs.otest -f 'slabs.c' || echo './'slabs.c mv -f .deps/memcached_debug-slabs.Tpo .deps/memcached_debug-slabs.Po gcc -std=gnu99 -DHAVE_CONFIG_H -I. -fprofile-arcs -ftest-coverage -g -O2 -pthread -Wall -Werror -pedantic -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -fno-strict-aliasing -MT memcached_debug-items.o -MD -MP -MF .deps/memcached_debug-items.Tpo -c -o memcached_debug-items.otest -f 'items.c' || echo './'items.c mv -f .deps/memcached_debug-items.Tpo .deps/memcached_debug-items.Po gcc -std=gnu99 -DHAVE_CONFIG_H -I. -fprofile-arcs -ftest-coverage -g -O2 -pthread -Wall -Werror -pedantic -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -fno-strict-aliasing -MT memcached_debug-assoc.o -MD -MP -MF .deps/memcached_debug-assoc.Tpo -c -o memcached_debug-assoc.otest -f 'assoc.c' || echo './'assoc.c mv -f .deps/memcached_debug-assoc.Tpo .deps/memcached_debug-assoc.Po gcc -std=gnu99 -DHAVE_CONFIG_H -I. -fprofile-arcs -ftest-coverage -g -O2 -pthread -Wall -Werror -pedantic -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -fno-strict-aliasing -MT memcached_debug-thread.o -MD -MP -MF .deps/memcached_debug-thread.Tpo -c -o memcached_debug-thread.otest -f 'thread.c' || echo './'thread.c mv -f .deps/memcached_debug-thread.Tpo .deps/memcached_debug-thread.Po gcc -std=gnu99 -DHAVE_CONFIG_H -I. -fprofile-arcs -ftest-coverage -g -O2 -pthread -Wall -Werror -pedantic -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -fno-strict-aliasing -MT memcached_debug-daemon.o -MD -MP -MF .deps/memcached_debug-daemon.Tpo -c -o memcached_debug-daemon.otest -f 'daemon.c' || echo './'daemon.c mv -f .deps/memcached_debug-daemon.Tpo .deps/memcached_debug-daemon.Po gcc -std=gnu99 -DHAVE_CONFIG_H -I. -fprofile-arcs -ftest-coverage -g -O2 -pthread -Wall -Werror -pedantic -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -fno-strict-aliasing -MT memcached_debug-stats.o -MD -MP -MF .deps/memcached_debug-stats.Tpo -c -o memcached_debug-stats.otest -f 'stats.c' || echo './'stats.c mv -f .deps/memcached_debug-stats.Tpo .deps/memcached_debug-stats.Po gcc -std=gnu99 -DHAVE_CONFIG_H -I. -fprofile-arcs -ftest-coverage -g -O2 -pthread -Wall -Werror -pedantic -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -fno-strict-aliasing -MT memcached_debug-util.o -MD -MP -MF .deps/memcached_debug-util.Tpo -c -o memcached_debug-util.otest -f 'util.c' || echo './'util.c mv -f .deps/memcached_debug-util.Tpo .deps/memcached_debug-util.Po gcc -std=gnu99 -DHAVE_CONFIG_H -I. -fprofile-arcs -ftest-coverage -g -O2 -pthread -Wall -Werror -pedantic -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -fno-strict-aliasing -MT memcached_debug-cache.o -MD -MP -MF .deps/memcached_debug-cache.Tpo -c -o memcached_debug-cache.otest -f 'cache.c' || echo './'cache.c mv -f .deps/memcached_debug-cache.Tpo .deps/memcached_debug-cache.Po gcc -std=gnu99 -fprofile-arcs -ftest-coverage -g -O2 -pthread -Wall -Werror -pedantic -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -fno-strict-aliasing -o memcached-debug memcached_debug-memcached.o memcached_debug-hash.o memcached_debug-slabs.o memcached_debug-items.o memcached_debug-assoc.o memcached_debug-thread.o memcached_debug-daemon.o memcached_debug-stats.o memcached_debug-util.o memcached_debug-cache.o -lgcov -levent -lrt gcc -std=gnu99 -DHAVE_CONFIG_H -I. -g -O2 -pthread -Wall -Werror -pedantic -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -fno-strict-aliasing -MT sizes.o -MD -MP -MF .deps/sizes.Tpo -c -o sizes.o sizes.c mv -f .deps/sizes.Tpo .deps/sizes.Po gcc -std=gnu99 -g -O2 -pthread -Wall -Werror -pedantic -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -fno-strict-aliasing -o sizes sizes.o -levent -lrt gcc -std=gnu99 -DHAVE_CONFIG_H -I. -g -O2 -pthread -Wall -Werror -pedantic -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -fno-strict-aliasing -MT testapp.o -MD -MP -MF .deps/testapp.Tpo -c -o testapp.o testapp.c mv -f .deps/testapp.Tpo .deps/testapp.Po gcc -std=gnu99 -DHAVE_CONFIG_H -I. -g -O2 -pthread -Wall -Werror -pedantic -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -fno-strict-aliasing -MT util.o -MD -MP -MF .deps/util.Tpo -c -o util.o util.c mv -f .deps/util.Tpo .deps/util.Po gcc -std=gnu99 -DHAVE_CONFIG_H -I. -g -O2 -pthread -Wall -Werror -pedantic -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -fno-strict-aliasing -MT cache.o -MD -MP -MF .deps/cache.Tpo -c -o cache.o cache.c mv -f .deps/cache.Tpo .deps/cache.Po gcc -std=gnu99 -g -O2 -pthread -Wall -Werror -pedantic -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -fno-strict-aliasing -o testapp testapp.o util.o cache.o -levent -lrt gcc -std=gnu99 -DHAVE_CONFIG_H -I. -g -O2 -pthread -Wall -Werror -pedantic -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -fno-strict-aliasing -MT timedrun.o -MD -MP -MF .deps/timedrun.Tpo -c -o timedrun.o timedrun.c mv -f .deps/timedrun.Tpo .deps/timedrun.Po gcc -std=gnu99 -g -O2 -pthread -Wall -Werror -pedantic -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -fno-strict-aliasing -o timedrun timedrun.o -levent -lrt make[2]: ディレクトリ/home/ymanabe/memcached-1.4.14' から出ます make[1]: ディレクトリ `/home/ymanabe/memcached-1.4.14' から出ます ./sizes Slab Stats 64 Thread stats 216 Global stats 232 Settings 128 Item (no cas) 48 Item (cas) 56 Libevent thread 168

Connection 496

libevent thread cumulative 13184 Thread stats cumulative 13016 ./testapp 1..47 ok 1 - cache_create ok 2 - cache_constructor ok 3 - cache_constructor_fail ok 4 - cache_destructor ok 5 - cache_reuse ok 6 - cache_redzone ok 7 - issue_161 ok 8 - strtol ok 9 - strtoll ok 10 - strtoul ok 11 - strtoull ok 12 - issue_44 ok 13 - vperror ok 14 - issue_101 ok 15 - start_server ok 16 - issue_92 ok 17 - issue_102 ok 18 - binary_noop ok 19 - binary_quit ok 20 - binary_quitq ok 21 - binary_set ok 22 - binary_setq ok 23 - binary_add ok 24 - binary_addq ok 25 - binary_replace ok 26 - binary_replaceq ok 27 - binary_delete ok 28 - binary_deleteq ok 29 - binary_get ok 30 - binary_getq ok 31 - binary_getk ok 32 - binary_getkq ok 33 - binary_incr ok 34 - binary_incrq ok 35 - binary_decr ok 36 - binary_decrq ok 37 - binary_version ok 38 - binary_flush ok 39 - binary_flushq ok 40 - binary_append ok 41 - binary_appendq ok 42 - binary_prepend ok 43 - binary_prependq ok 44 - binary_stat ok 45 - binary_illegal ok 46 - binary_pipeline_hickup ok 47 - stop_server prove ./t make: prove: コマンドが見つかりませんでした make: *** [test] エラー 127 [/bash]

...最後にエラーが出ています。コマンドが見つからないとのことなのですが、テストについては47個で47個が正常に終了しているためとりあえず先に進めましょう。

[bash] $ sudo make install make install-recursive make[1]: ディレクトリ /home/ymanabe/memcached-1.4.14' に入ります Making install in doc make[2]: ディレクトリ/home/ymanabe/memcached-1.4.14/doc' に入ります make install-am make[3]: ディレクトリ /home/ymanabe/memcached-1.4.14/doc' に入ります make[4]: ディレクトリ/home/ymanabe/memcached-1.4.14/doc' に入ります make[4]: install-exec-am' に対して行うべき事はありません. test -z "/usr/local/memcached/share/man/man1" || /bin/mkdir -p "/usr/local/memcached/share/man/man1" /usr/bin/install -c -m 644 memcached.1 '/usr/local/memcached/share/man/man1' make[4]: ディレクトリ/home/ymanabe/memcached-1.4.14/doc' から出ます make[3]: ディレクトリ /home/ymanabe/memcached-1.4.14/doc' から出ます make[2]: ディレクトリ/home/ymanabe/memcached-1.4.14/doc' から出ます make[2]: ディレクトリ /home/ymanabe/memcached-1.4.14' に入ります make[3]: ディレクトリ/home/ymanabe/memcached-1.4.14' に入ります test -z "/usr/local/memcached/bin" || /bin/mkdir -p "/usr/local/memcached/bin" /usr/bin/install -c memcached '/usr/local/memcached/bin' test -z "/usr/local/memcached/include/memcached" || /bin/mkdir -p "/usr/local/memcached/include/memcached" /usr/bin/install -c -m 644 protocol_binary.h '/usr/local/memcached/include/memcached' make[3]: ディレクトリ /home/ymanabe/memcached-1.4.14' から出ます make[2]: ディレクトリ/home/ymanabe/memcached-1.4.14' から出ます make[1]: ディレクトリ `/home/ymanabe/memcached-1.4.14' から出ます [/bash]

memcachedの起動

memcachedは以下の方法で起動できます。デフォルトのポート番号は11211番なのでファイアーウォールの設定についても適宜変更する必要があります。

[bash] /usr/local/memcached/bin/memcached

daemonとして起動する場合は -d オプションを追加します。

/usr/local/memcached/bin/memcached -d [/bash]

ヘルプについて

memcachedは -h オプションをつけることでヘルプファイルを確認することができます。わからないことはそちらを確認するとよいでしょう。

終わりに

とりあえず play framework と連携したかったので memcached をインストールから起動するところまで設定しました。これからいろいろと設定してみてどういうものか確認していきたいと思います。