Ошибка установки memcached gem на Snow Leopard - неправильная архитектура? - PullRequest
0 голосов
/ 30 июня 2010

У меня проблема с установкой memcached ruby ​​gem на мой компьютер Mac Pro с OS X Snow Leopard (10.6.4).

Memcache установлен и работает нормально, и для большинства проектов я используюmemcache-client драгоценный камень без проблем, но в этом текущем проекте мне нужно использовать вместо него memcached драгоценный камень.

Установка драгоценного камня с помощью env ARCHFLAGS='-arch x86_64' gem install memcached или просто с помощью обычного gem install memcached, оба выдают ту же ошибку, когдапытается запустить приложение:

(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

Однако, выполнение file на rlibmemcached.bundle дает правильную арку?

cpjolicoeur@~/.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

Я не уверен, в чем проблема,или как правильно установить гем memcached для моей системы.

Ответы [ 2 ]

2 голосов
/ 09 июля 2010

Я видел точно такое же сообщение об ошибке в Snow Leopard, Ruby 1.9.1 и в memcached gem. Я часами рыскал в сети для ответа. Все предложили это решение, которое не изменило сообщение об ошибке:

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

Я также попытался выполнить 'rake clean' и перезапустить extconf.rb на геме. Та же ошибка.

Наконец, я просмотрел все предыдущие версии memcached гема, пока не нашел тот, который работал с моей системой.

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

Версия 0.17.1 гема - единственная версия, которая работает для меня. Я разработчик для iPhone, поэтому установил последнюю версию XCode, и это может объяснить, почему моя система отличается.

1 голос
/ 18 октября 2010

Это поздний ответ, но, надеюсь, полезный для тех, кто сталкивается с той же проблемой. (С Ruby 1.9.2 на Snow Leopard.)

Установите модули Perl Pod :: Simple, Pod :: Man, Pod :: Checker (проще всего через cpan).

Загрузите последнюю версию libmemcached с http://download.tangent.org/ (был libmemcached-0.44.tar.gz на этот пост)

Выполните настройку / создание / установку танца вручную в Терминале:

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

После этого sudo gem install memcached сработало, и рассматриваемое приложение Rails 3 заработало нормально.

...