Обновление Ruby через RVM, похоже, проблема с libxml - PullRequest
1 голос
/ 14 декабря 2010

Я собирался запустить свое первое приложение на Rails 3 и подумал, что прежде чем я это сделаю, я обновлюсь до последней версии ruby, и рубин не сможет работать правильно.

В настоящее время я использую Snow leopard на 32-битном кернале, и каждый раз, когда я пытаюсь запустить 1.9.2, будь то через readline или ssl, я все равно получаю следующую ошибку:

ld: warning: in ../../libruby.dylib, file was built for unsupported file format which is not the architecture being linked (i386)
ld: in /Developer/SDKs/MacOSX10.6.sdk/usr/local/lib/libxml2.2.dylib, file was built for unsupported file format which is not the architecture being linked (i386)
collect2: ld returned 1 exit status
make[1]: *** [../../.ext/i386-darwin10.5.0/tcltklib.bundle] Error 1

Я попытался использовать 64-ядерный сервер, используя это среди прочего в качестве руководства http://www.markhneedham.com/blog/2010/07/08/installing-ruby-1-9-2-with-rvm-on-snow-leopard/, но затем я получил похожее сообщение о том, что libxml1.dylib не работает, поскольку он не настроен на 64-битную версию.

У кого-нибудь есть идеи? это сводит меня с ума ...

Ответы [ 2 ]

1 голос
/ 14 декабря 2010

Хорошо, для тех, у кого такая же проблема, как у меня, я бы посоветовал перейти на 64-битный кернал - если вы не уверены, как идти здесь

Я бы тогда следил за этим прекрасным сообщением в блоге

Единственное, что мне нужно сделать выше этого поста, это также обновить libxml. Мне также пришлось обновить libxlst (который можно скачать из того же источника).Как только я запустил проверенную установку, она указала на правильный ядро, и все обновилось нормально.

Надеюсь, что это поможет любому, у кого возникла такая же проблема!

0 голосов
/ 14 декабря 2010

Вы должны убедиться, что ваш Ruby является 64-битным, и собственные драйверы гемов соответствуют ему.ruby -v на 64-битном Snow Leopard должен отображать:

ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-darwin10.5.0]

Ваши драгоценные камни будут жаловаться на архитектуру, возвращая i386 отпечаток пальца при несоответствии.Чтобы исправить это, вы можете попробовать:

gem pristine --all

, который должен пройти через все драгоценные камни и перезагрузить их из чистых кэшированных версий.В этом процессе любые собственные диски должны быть перестроены.

...