Невозможно установить гем Jekyll после обновления до Xcode 4.1

Ранее я успешно устанавливал гем Jekyll на Mac с компилятором gcc, который поставлялся с Xcode 3. К сожалению, я не могу установить его на другой Mac, который теперь имеет Xcode 4.1. На этом Mac раньше был Xcode 3, но я удалил его с помощью команды sudo /Developer-3.2.5/Library/uninstall-devtools --mode=all.

При попытке sudo gem install jekyll я получаю сообщение об ошибке компиляции, показанное ниже:

Building native extensions.  This could take a while...
ERROR:  Error installing jekyll:
    ERROR: Failed to build gem native extension.

/usr/local/bin/ruby extconf.rb
creating Makefile

make
gcc -I. -I/usr/local/lib/ruby/1.8/i686-darwin10.3.2 -I/usr/local/lib/ruby/1.8/i686-darwin10.3.2 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE   -fno-common -D_XOPEN_SOURCE=1  -fno-common -pipe -fno-common   -c porter.c
porter.c:31:44: error: stdlib.h: No such file or directory
porter.c:32:47: error: string.h: No such file or directory
porter.c: In function ‘create_stemmer’:
porter.c:85: warning: incompatible implicit declaration of built-in function ‘malloc’
porter.c: In function ‘setto’:
porter.c:199: warning: incompatible implicit declaration of built-in function ‘memmove’
make: *** [porter.o] Error 1


Gem files will remain installed in /usr/local/lib/ruby/gems/1.8/gems/fast-stemmer-1.0.0 for inspection.
Results logged to /usr/local/lib/ruby/gems/1.8/gems/fast-stemmer-1.0.0/ext/gem_make.out

Кажется, здесь есть довольно фундаментальная проблема! Как я могу это исправить? Я использую Ruby 1.8.7 и RubyGems 1.3.7 1.8.10.

Заранее спасибо.


person John Topley    schedule 30.08.2011    source источник
comment
Была та же проблема, помогло обновление до Xcode 5 Developer Preview.   -  person NVI    schedule 23.06.2013


Ответы (3)


Это странно. Вчера вечером я переустановил Xcode 4.1, и проблема устранилась: я могу скомпилировать собственные расширения и установить гем Jekyll.

Мне удалось переустановить Xcode, потому что, согласно Mac App Store, он вообще не был установлен, хотя я с удовольствием его использовал! Я думаю, что магазин должен проверить наличие приложения Install XCode в папке /Applications, которую я удалил, потому что это просто установщик и занимает более 3 ГБ.

person John Topley    schedule 02.09.2011

Перед запуском gem install jekyll попробуйте ввести export CC=gcc-4.2 в соответствии с: RVM с Lion Если это решит вашу проблему, это связано с тем, что драгоценные камни зависят от GCC, а не от LLVM, который теперь используется по умолчанию в 4.1. Добавьте export CC=gcc-4.2 в ваш файл ~ / .bashrc, чтобы вам не приходилось вводить его каждый раз, когда вам нужно скомпилировать гем.

person Dan McClain    schedule 30.08.2011
comment
Спасибо, но это не помогло. - person John Topley; 30.08.2011

RubyGems 1.3.7 сильно устарел. Речь идет о 1.8.9 ... Предлагаю обновить.

Я использую Lion без каких-либо проблем, но должен признать, что не использую системный Ruby. Я установил другую версию 1.8.7 (и 1.9.2) с помощью RVM.

person Simone Carletti    schedule 31.08.2011
comment
Спасибо. Постоянно обновлять RubyGems - это вообще хороший совет, и я обновился до 1.8.10, но это не устранило эту проблему. - person John Topley; 01.09.2011