1

Mac OS X Lion (10.7.2) で memcached gem (http://fauna.github.com/fauna/memcached/) を使いたいです。Xcode 4.2 は既にインストールされています。

Homebrew で memcached と libmemcached をインストールしました。

$ brew list -v 
libmemcached 0.50
memcached 1.4.10

また、rvm (ruby バージョン マネージャー) で ruby​​ 1.9.3-p0 を使用しています。

$ ruby -v 
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin11.2.0]
$ rvm -v
rvm 1.9.2 by Wayne E. Seguin (wayneeseguin@gmail.com) [https://rvm.beginrescueend.com/]

しかし、memcached gem (1.3.5) をインストールできません。gitsに続いてインストールログを貼り付けました。 https://gist.github.com/1395459

libmemcached の make でいくつかのエラーが発生しました。そのディレクトリを見ました。

$ pwd 
/Users/inohiro/.rvm/gems/ruby-1.9.3-p0/gems/memcached-1.3.5/ext/libmemcached-0.32

構成は成功です。しかし、make (all) は失敗します。

$ make all
make  all-recursive
Making all in docs
make[2]: Nothing to be done for `all'.
Making all in libmemcached
make  all-am
make[3]: Nothing to be done for `all-am'.
Making all in libmemcachedutil
make[2]: Nothing to be done for `all'.
Making all in support
make[2]: Nothing to be done for `all'.
Making all in clients
/bin/sh ../libtool --tag=CC   --mode=link gcc -std=gnu99 -O3  -pedantic -Wall -Wextra -Wundef -Wshadow  -fdiagnostics-show-option -fvisibility=hidden -Wformat=2  -Wstrict-aliasing -Wstrict-prototypes -Wmissing-prototypes -Wredundant-decls -Wmissing-declarations -Wcast-align -Wswitch-default -Wswitch-enum -Wwrite-strings    -D_THREAD_SAFE   -rpath /usr/local/lib/libmemcached -lsasl2 -L/usr/local/lib -o memcat memcat.o libutilities.la ../libmemcached/libmemcached.la 
libtool: link: gcc -std=gnu99 -O3 -pedantic -Wall -Wextra -Wundef -Wshadow -fdiagnostics-show-option -fvisibility=hidden -Wformat=2 -Wstrict-aliasing -Wstrict-prototypes -Wmissing-prototypes -Wredundant-decls -Wmissing-declarations -Wcast-align -Wswitch-default -Wswitch-enum -Wwrite-strings -D_THREAD_SAFE -o .libs/memcat memcat.o  -L/usr/local/lib ./.libs/libutilities.a ../libmemcached/.libs/libmemcached.dylib -lsasl2
Undefined symbols for architecture x86_64:
  "_memcached_create", referenced from:
      _main in memcat.o
  "_memcached_behavior_set", referenced from:
      _main in memcat.o
      _process_hash_option in libutilities.a(utilities.o)
  "_memcached_get", referenced from:
      _main in memcat.o
  "_memcached_free", referenced from:
      _main in memcat.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
make[2]: *** [memcat] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

libmemcached の構成と作成の完全なログはここにあります。 https://gist.github.com/1395470

memcached gem を Lion にインストールする方法を教えてください :/

追記-1

「brew link memcached」を試してみました。しかし、エラーを返します。私は何をすべきか?

$ brew link memcached 
Linking /usr/local/Cellar/memcached/1.4.10... 
Error: Cannot link memcached
Another version is already linked: /usr/local/Cellar/memcached/1.4.10

追記-2

/usr/local/Cellar/memcached/ を削除してみました。「brew link memcached」を実行すると、次のエラーが発生します。

$ rm -rf memcached
$ brew link memcached 
Error: No such keg: /usr/local/Cellar/memcached
4

2 に答える 2

1

問題は、gccがbrewによってインストールされたmemcachedライブラリを見つけられないことだと思います.

brew link memcachedを実行してから、もう一度実行してくださいgem install memcached

于 2011-11-30T05:59:09.187 に答える
0

これを行う:

ls -l /usr/local/include/memcached
lrwxr-xr-x  1 root  staff  43 Jul 18 14:17 /usr/local/include/memcached -> ../Cellar/memcached/1.4.5/include/memcached

最初にその古いリンクを削除する必要があります:

sudo rm /usr/local/include/memcached

その後、brew link memcachedもう一度試してください

おそらくこれもやりたいでしょう:

homebrew 経由で memcached をインストールしましたが、サーバーを起動および停止するにはどうすればよいですか?

于 2011-11-30T06:39:52.873 に答える