2011-11-30 3 views
1

Mac OS X Lion (10.7.2)에서 memcached gem (http://fauna.github.com/fauna/memcached/)을 사용하고 싶습니다. Xcode 4.2가 이미 설치되었습니다.gem install memcached가 Lion에서 실패했습니다.

memcached가 설치되어 있고 Homebrew가 libmemcached를 설치했습니다.

$ brew list -v 
libmemcached 0.50 
memcached 1.4.10 

그리고 rvm (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 ([email protected]) [https://rvm.beginrescueend.com/] 

하지만 memcached 보석 (1.3.5)을 설치할 수 없습니다. gits 다음의 설치 로그를 붙여 넣었습니다. https://gist.github.com/1395459

libmemcached의 일부 오류가 발생합니다. 나는 그것의 전화 번호부를 보았다.

$ 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의 구성 및 make 전체 로그가 여기에 있습니다. https://gist.github.com/1395470

어떻게 사자에 memcached와 보석을 설치하는 방법을 가르쳐주세요 :/

은 포스트 스크립트-1

나는 "양조 링크 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/지방/셀라/memcached와의 /를 시도했다. 그리고 brew link memcached를 실행 시키지만, 다음과 같은 에러가 발생합니다.

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

답변

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 다시

당신은 아마이하고 싶은

:

Installed memcached via homebrew, how to start and stop server?

+0

친절하게 감사드립니다. 그러나 나는 풀 수 없었다. 포스트 스크립트 -2를 추가하십시오. – inohiro

+0

"sudo rm/usr/local/include/memcaced (<기호 심볼릭 링크"가 맞습니까? 아니면 sudo rm/usr/local/Cellar/memcaced/(<디렉토리의 디렉토리)입니까? – inohiro

+0

죄송합니다. 이것을 시도해보십시오 :'sudo rm/usr/local/include/memcached' – Tilo

1

나는 문제가 양조 설치 memcached와 라이브러리를 찾을 수 없습니다 GCC 생각합니다.

brew link memcached을 실행하고 gem install memcached을 다시 실행하십시오.

+0

의견을 남겨주셔서 감사합니다! 나는 이것에 대한 추록을 덧붙인다. – inohiro