gemインストールMemcachedはライオンで失敗します
-
26-10-2019 - |
質問
Mac OS X Lion(10.7.2)でMemcached Gem(http://fauna.github.com/fauna/memcached/)を使用したいと思います。 Xcode 4.2はすでにインストールされています。
私はMemcachedをインストールし、Homebrewによって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)をインストールできません。 GITに続いてインストールログを貼り付けました。 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(すべて)は失敗します。
$ 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の構成とmakeの完全なログはこちらです。 https://gist.github.com/1395470
Memcached Gemをライオンに設置する方法を教えてください:/
postscript-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
postscript-2
remod/usr/local/cellar/memcached/を試しました。 「brew link memcached」を実行しますが、次のエラーを取得します。
$ rm -rf memcached
$ brew link memcached
Error: No such keg: /usr/local/Cellar/memcached
解決
これを行う:
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
また
おそらくこれをやりたい:
他のヒント
問題は、GCCがBrewによってインストールされたMemcached Libraryを見つけることができないことだと思います。
実行してみてください brew link memcached
, 、次に実行します gem install memcached
また。