upgrade to osx lion, bundler gets native extension errors - no such file or directory

У меня проблема, из-за которой я застрял на полтора дня, и я хотел бы получить помощь.

Я переносил свое последнее приложение rails 3 между iMac и macbook pro с помощью простой копии, и до сих пор у меня не было никаких проблем.

к сведению, я использую rvm для управления версиями моих проектов.

У меня новый iMac, на котором установлен lion, и все было хорошо, пока я не запустил обновление пакета. С тех пор я не могу заставить работать пакетное обновление. Проблемы возникают при создании родного расширения gem.

Как только я запускаю обновление пакета, на машине iMac (osx lion) ничего не работает. Я могу продолжать запускать обновление пакета на своем ноутбуке (Snow Leopard).

Поэтому я хотел бы иметь возможность продолжать разработку на машине Lion. Вот что я сделал до сих пор:

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

Я все еще продолжал получать ошибки при сборке nokogiri. В какой-то момент я последовал некоторым инструкциям в блоге ( и сделал:

sudo port upgrade --enforce-variants libxml2 +universal

но, похоже, это не имело никакого значения для сборки nokogiri.

Теперь, когда я делаю обновление пакета, я получаю:

Installing nokogiri (1.5.0) with native extensions /Users/tayloredwebsites/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb:551:in `rescue in block in build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError)

        /Users/tayloredwebsites/.rvm/rubies/ruby-1.9.2-p136/bin/ruby extconf.rb 
checking for libxml/parser.h... yes
checking for libxslt/xslt.h... yes
checking for libexslt/exslt.h... yes
checking for iconv_open() in iconv.h... no
checking for iconv_open() in -liconv... yes
checking for xmlParseDoc() in -lxml2... yes
checking for xsltParseStylesheetDoc() in -lxslt... yes
checking for exsltFuncRegister() in -lexslt... yes
checking for xmlHasFeature()... yes
checking for xmlFirstElementChild()... yes
checking for xmlRelaxNGSetParserStructuredErrors()... yes
checking for xmlRelaxNGSetParserStructuredErrors()... yes
checking for xmlRelaxNGSetValidStructuredErrors()... yes
checking for xmlSchemaSetValidStructuredErrors()... yes
checking for xmlSchemaSetParserStructuredErrors()... yes
creating Makefile

make
gcc-4.2 -I. -I/Users/tayloredwebsites/.rvm/rubies/ruby-1.9.2-p136/include/ruby-1.9.1/x86_64-darwin10.6.0 -I/Users/tayloredwebsites/.rvm/rubies/ruby-1.9.2-p136/include/ruby-1.9.1/ruby/backward -I/Users/tayloredwebsites/.rvm/rubies/ruby-1.9.2-p136/include/ruby-1.9.1 -I. -DHAVE_XMLHASFEATURE -DHAVE_XMLFIRSTELEMENTCHILD -DHAVE_XMLRELAXNGSETPARSERSTRUCTUREDERRORS -DHAVE_XMLRELAXNGSETPARSERSTRUCTUREDERRORS -DHAVE_XMLRELAXNGSETVALIDSTRUCTUREDERRORS -DHAVE_XMLSCHEMASETVALIDSTRUCTUREDERRORS -DHAVE_XMLSCHEMASETPARSERSTRUCTUREDERRORS -I/opt/local/include/libxml2 -I/usr/local/include/libxml2 -I/Users/tayloredwebsites/.rvm/rubies/ruby-1.9.2-p136/include/libxml2 -I/opt/local/include -I/usr/local/include -I/Users/tayloredwebsites/.rvm/rubies/ruby-1.9.2-p136/include -I/usr/include -I/usr/include/libxml2 -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE   -fno-common -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long  -fno-common -pipe  -g -DXP_UNIX -O3 -Wall -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Winline  -o html_document.o -c html_document.c
make: gcc-4.2: No such file or directory
make: *** [html_document.o] Error 1


Gem files will remain installed in /Users/tayloredwebsites/.rvm/gems/ruby-1.9.2-p136@current/gems/nokogiri-1.5.0 for inspection.

Проделав это слишком много раз, я решил удалить capybara и lanuchy из своего Gemfile, чтобы избежать этой ошибки. И вот, обновление пакета дает мне еще один сбой при сборке родного расширения:

Installing sqlite3 (1.3.5) with native extensions /Users/tayloredwebsites/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb:551:in `rescue in block in build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError)

        /Users/tayloredwebsites/.rvm/rubies/ruby-1.9.2-p136/bin/ruby extconf.rb 
checking for sqlite3.h... yes
checking for sqlite3_libversion_number() in -lsqlite3... yes
checking for rb_proc_arity()... yes
checking for sqlite3_initialize()... yes
checking for sqlite3_backup_init()... yes
checking for sqlite3_column_database_name()... no
checking for sqlite3_enable_load_extension()... no
checking for sqlite3_load_extension()... no
creating Makefile

make
gcc-4.2 -I. -I/Users/tayloredwebsites/.rvm/rubies/ruby-1.9.2-p136/include/ruby-1.9.1/x86_64-darwin10.6.0 -I/Users/tayloredwebsites/.rvm/rubies/ruby-1.9.2-p136/include/ruby-1.9.1/ruby/backward -I/Users/tayloredwebsites/.rvm/rubies/ruby-1.9.2-p136/include/ruby-1.9.1 -I. -DHAVE_RB_PROC_ARITY -DHAVE_SQLITE3_INITIALIZE -DHAVE_SQLITE3_BACKUP_INIT -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE   -fno-common -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long  -fno-common -pipe  -o backup.o -c backup.c
make: gcc-4.2: No such file or directory
make: *** [backup.o] Error 1

Получается, что я получаю ошибку отсутствия такого файла в моих сборках, для одного и того же набора кода, с той лишь разницей, что одна машина на Lion, а другая на Snow Leopard.

Так что, возможно, кто-то сможет помочь мне с этими вопросами:

В своих исследованиях я заметил, что в сборке nokogiri, libxml2 запрашивается в 3 местах (два из которых не существуют!!!!). Кто-нибудь знает, как контролировать эти аргументы, чтобы я мог удалить несуществующие?

Когда я посмотрел на сборку sqlite3, я не заметил никаких недостающих файлов, но, похоже, я все еще получаю их. Может ли это быть следствием проблемы с nokogiri? Если да, то кто-нибудь знает, как их убрать?

Я хотел бы знать, какой файл отсутствует, но не могу найти его в сообщении об ошибке. Есть ли способ получить детали отладчика из обновления пакета?

Также я заметил, что в make, каталог include содержит каталог с именем старой версии ruby. Так было довольно долгое время, без каких-либо проблем, поэтому я подозреваю, что проблема не в этом, но просто хотел обратить на это внимание.

5
задан Taylored Web Sites 7 December 2011 в 20:33
поделиться