Phusion Passenger и Snow Leopard

Я только что установил Snow Leopard и теперь получаю следующую ошибку при попытке получить доступ к сайту, запущенному под Passenger:

/usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.4/ext/phusion_passenger/native_support.bundle: dlopen(/usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.4/ext/phusion_passenger/native_support.bundle, 9): no suitable image found.  Did find: (LoadError)
/usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.4/ext/phusion_passenger/native_support.bundle: mach-o, but wrong architecture - /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.4/ext/phusion_passenger/native_support.bundle
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
from /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.4/lib/phusion_passenger/utils.rb:35
from /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.4/bin/passenger-spawn-server:53:in `require'
from /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.4/bin/passenger-spawn-server:53

Я переустановил пассажирский гем, запустил скрипт установщика и обновил файл apache conf в соответствии с инструкциями.

Я также попытался переустановить драгоценный камень с помощью env ARCHFLAGS="-arch x86_64" безуспешно

1 ответ

Решение

У меня была та же проблема - исправление состояло в том, чтобы перекомпилировать ruby, чтобы он был 64-битным вместо 32.

Вы можете проверить, какую архитектуру использует ваш ruby, вот так:

> file `which ruby`
/usr/local/bin/ruby: Mach-O 64-bit executable x86_64

Если он сообщает о i386 вместо x86_64 - то у вас, вероятно, та же проблема.

(до перекомпиляции у меня был "Mach-O исполняемый файл i386")

Немного неприятно, потому что после этого вам нужно будет перекомпилировать / переустановить любые гемы с родными расширениями. Я еще этого не делал, но где-то видел, что вы можете сделать это "легко", используя sudo gem pristine --all

Другие вопросы по тегам