2010-06-30 6 views
0

Je rencontre un problème lors de l'installation de la gemme ruby ​​memcached sur ma machine Mac Pro avec OS X Snow Leopard (10.6.4). Memcache est installé et fonctionne bien et pour la plupart des projets, j'utilise la gemme memcache-client sans problème, mais ce projet actuel nécessite l'utilisation de la gemme memcached à la place.Erreur lors de l'installation de gem memcached sur Snow Leopard - mauvaise architecture?

Installation du bijou avec env ARCHFLAGS='-arch x86_64' gem install memcached ou tout simplement par la normale gem install memcached les deux donnent la même erreur lors d'une tentative d'exécuter l'application:

(in /src/mojotech/projectr) 
dlopen(/Users/cpjolicoeur/.rvm/gems/ruby-1.8.7-p174/gems/memcached-0.19.7/lib/rlibmemcached.bundle, 9): no suitable image found. 
Did find: /Users/cpjolicoeur/.rvm/gems/ruby-1.8.7-p174/gems/memcached-0.19.7/lib/rlibmemcached.bundle: mach-o, but wrong architecture - /Users/cpjolicoeur/.rvm/gems/ruby-1.8.7-p174/gems/memcached-0.19.7/lib/rlibmemcached.bundle 

Cependant, en cours d'exécution sur le filerlibmemcached.bundle donne l'arc correct?

[email protected]~/.rvm/gems/ruby-1.8.7-p174/gems/memcached-0.19.7/lib $ file rlibmemcached.bundle 
rlibmemcached.bundle: Mach-O 64-bit bundle x86_64 

Je ne sais pas quel est le problème, ou comment installer correctement le joyau memcached pour mon système.

Répondre

2

Je voyais le même message d'erreur exact sur Snow Leopard, Ruby 1.9.1 et la gemme memcached. J'ai parcouru le net pendant des heures pour avoir une réponse. Tout le monde a suggéré cette solution, qui n'a pas changé le message d'erreur:

# Did Not Work 
sudo gem uninstall 
sudo env ARCHFLAGS='-arch x86_64' gem install memcached 

J'ai aussi essayé de faire « râteau propre » et extconf.rb re-courir sur la pierre précieuse. Même erreur Finalement, j'ai parcouru toutes les versions précédentes de la gemme memcached jusqu'à ce que j'en trouve une qui marche avec mon système.

# This Worked! 
sudo gem uninstall memcached 
sudo gem install --version 0.17.1 memcached --no-ri --no-rdoc 

La version 0.17.1 de la gemme est la seule qui fonctionne pour moi. Je suis un développeur iPhone, alors j'ai installé la dernière version de XCode, ce qui pourrait expliquer pourquoi mon système est différent.

1

Ceci est une réponse tardive, mais j'espère utile pour quelqu'un qui court à travers le même problème. (Avec Ruby 1.9.2 sur Snow Leopard.)

Installer les modules Perl Pod :: Simple, Pod :: Man, Pod :: Checker (via cpan est plus facile).

Télécharger la dernière version de libmemcached de http://download.tangent.org/ (était libmemcached-0.44.tar.gz que de ce post)

Faites le configure/make/install danse à la main dans le Terminal:

tar -xzvf libmemcached-0.44.tar.gz 
cd libmemcached-0.44 
./configure 
make 
sudo make install 

Après cela, sudo gem install memcached a fonctionné, et l'application Rails 3 en question fonctionnait bien.

+0

Je voulais juste ajouter que cela fonctionnera pour OS X Lion si vous voyez ce problème. Installez d'abord libmemcached, puis installez la gemme. – Peter