Что вызвало бы собственные расширения gem на OS X для сборки, но не для загрузки? - PullRequest
1 голос
/ 30 марта 2010

У меня проблемы с некоторыми из моих rubygems, в частности с теми, которые используют собственные расширения.

Я нахожусь на MacBookPro со Snow Leopard. У меня установлен XCode 3.2.1, с gcc 4.2.1. Ruby 1.8.6, потому что я ленивый и испуганный кот и пока не хочу обновляться. Ruby работает в 32-битном режиме. Я создал этот рубин с нуля, когда мой MBP работал под управлением OSX 10.4.

Когда мне требуется один из затронутых драгоценных камней в irb, я получаю ошибку загрузки для файла комплекта расширения драгоценного камня. Например, вот нокогиги, отвергающие меня:

> требуют 'rubygems'
=> правда
> требуется 'nokogiri'
LoadError: Не удалось загрузить /usr/local/lib/ruby/gems/1.8/gems/nokogiri-1.4.1/lib/nokogiri/nokogiri.bundle

Это также происходит с драгоценными камнями Postgres pg и MongoDB.

Моей первой мыслью было, что расширения не должны строиться правильно. Но установка gem не выдает никаких ошибок. Поэтому я переустановил с подробным флагом, надеясь увидеть некоторые полезные предупреждения. Я поместил вывод в Pastie , и единственное предупреждение, которое я вижу, это последовательное предупреждение о "передаче аргумента n из 'foo' с другой шириной из-за прототипа."

Я подозреваю, что это может быть проблемой при обновлении до Snow Leopard, но я немного удивлен, испытав это сейчас, так как я обновил свой XCode. Может ли это произойти из-за запуска Ruby в 1.8.6? Я смущен тем, что не знаю достаточно о моем Mac и OSX, чтобы знать, где искать дальше, поэтому любые рекомендации, даже просто указатель на какой-то документ, который я не смог найти через Google, были бы очень кстати.

Michael

1 Ответ

1 голос
/ 02 апреля 2010

Я вижу много / opt / local вещей с выводом gcc - вы используете MacPorts? Если это так, вы можете получить некоторую забаву в результате использования этой другой квази-другой среды - я столкнулся со всеми видами подобных проблем после обновления до 10.6 с MacPorts и в результате переключился на использование rvm для моего обновления / управления Ruby и использую Homebrew для замены MacPorts.

это помогает вообще?

...