Leopard => Архитектура Snow Leopard, беда с нокогири / рельсами - PullRequest
1 голос
/ 29 мая 2010

Я в замешательстве. Для меня это обычное положение вещей, но именно в этом случае я чувствовал, что могу связаться с другими стековыми потоками (то есть со стековыми потоками, а не со стековыми цветами).

uname -a
Darwin macbookpro 10.3.0 Darwin Kernel Version 10.3.0: Fri Feb 26 11:58:09 PST 2010; root:xnu-1504.3.12~1/RELEASE_I386 i386

set

bash-3.2$ set
...
HOSTTYPE=x86_64
...
MACHTYPE=x86_64-apple-darwin10.0
...

Мне приснился кошмар, восстанавливающий некоторые родные рубиновые камни, и мне интересно, является ли это частью проблемы - часть этой машины говорит, что она 64-битная, а другая часть 32 ... насколько я могу судить?

В разделе «Об этом Mac» написано «Intel Core 2 Duo», который, по словам Apple, является 64-разрядным. Так почему же после выполнения

sudo gem pristine --all

Я все еще получаю такую ​​ошибку?

dlopen(/Applications/Rails/ruby/lib/ruby/gems/1.8/gems/nokogiri-1.4.2/lib/nokogiri/nokogiri.bundle, 9): no suitable image found.  Did find:
 /Applications/Rails/ruby/lib/ruby/gems/1.8/gems/nokogiri-1.4.2/lib/nokogiri/nokogiri.bundle: mach-o, but wrong architecture - /Applications/Rails/ruby/lib/ruby/gems/1.8/gems/nokogiri-1.4.2/lib/nokogiri/nokogiri.bundle

В частности, я удалил nokogiri и переустановил его. Нет ошибок в выводе.

bash-3.2$ sudo gem install nokogiri
Building native extensions.  This could take a while...
Successfully installed nokogiri-1.4.2
1 gem installed

спасибо за любые мысли!

ОБНОВЛЕНИЕ

Я нашел полезный пост Криса Нооса по аналогичной проблеме. Вот где я нахожусь:

cd /usr/local/lib/ruby/gems/1.8/gems/nokogiri-1.4.2/

затем создал файл wem_extconf.rb:

require 'mkmf'
find_library('xml2', 'xmlParseDoc')
dir_config('any-string-here', '/opt/local/include', '/opt/local/lib')
find_library('xml2', 'xmlParseDoc')

Запуск sudo web_extconf.rb производит

checking for xmlParseDoc() in -lxml2... no
checking for xmlParseDoc() in -lxml2... no

???? Но подожди, это там:

$ port installed | grep libxml2.*active
libxml2 @2.7.7_0+universal (active)

$ ls -l /opt/local/lib | grep libxml2
-rwxr-xr-x   2 root  admin  2623276 31 May 20:09 libxml2.2.dylib
-rw-r--r--   2 root  admin  3643928 31 May 20:09 libxml2.a
lrwxr-xr-x   1 root  admin       15 31 May 20:09 libxml2.dylib -> libxml2.2.dylib
-rwxr-xr-x   2 root  admin      975 31 May 20:09 libxml2.la

И, похоже, у меня есть несколько экземпляров этой вещи, но я не уверен, какой порт использует (я предполагаю, что это macports, это / opt?)

$ ls -l /usr/lib | grep libxml2
lrwxr-xr-x    1 root  wheel        15 23 May 16:07 libxml2.2.7.3.dylib -> libxml2.2.dylib
-rwxr-xr-x    1 root  wheel   3758272 22 Sep  2009 libxml2.2.dylib
lrwxr-xr-x    1 root  wheel        15 23 May 16:07 libxml2.dylib -> libxml2.2.dylib

$ ls -l /usr/local/lib | grep libxml2
-rwxr-xr-x  1 root    admin  1456292 30 Oct  2009 libxml2.2.dylib
-rw-r--r--  1 root    admin  4812456 30 Oct  2009 libxml2.a
-rwxr-xr-x  1 root    admin  1456292 30 Oct  2009 libxml2.dylib
-rwxr-xr-x  1 root    admin      951 30 Oct  2009 libxml2.la

Ответы [ 2 ]

1 голос
/ 31 мая 2010

На снежном барсе gcc ведет себя в заблуждение; даже если вы используете ядро ​​i386, gcc по умолчанию выдаст 64-разрядные двоичные файлы.

Вы смотрели документацию GEM, чтобы увидеть, как указать целевую архитектуру?

0 голосов
/ 30 мая 2010

Вы установили инструменты разработки XCode?

...