Я обычно получаю эту ошибку при попытке установить гем - PullRequest
0 голосов
/ 17 ноября 2011

Я новичок в Ruby и Gems, поэтому я могу упустить что-то очевидное:

ERROR:  Error installing matlab-ruby:
    ERROR: Failed to build gem native extension.

        /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb

Я получил ошибку для нескольких самоцветов, в том числе Ruby GSL.

Я использую Mac OS 10.7.2, Ruby 1.8.7 и XCode 4.2, если это имеет значение.

Полный вывод на консоль:

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

        /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb
extconf.rb:1: command not found: gsl-config --version
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Provided configuration options:
    --with-opt-dir
    --without-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
extconf.rb:237: Check GSL>=0.9.4 is installed, and the command "gsl-config" is in search path. (RuntimeError)
checking gsl version... 

Gem files will remain installed in /Library/Ruby/Gems/1.8/gems/gsl-1.14.7 for inspection.
Results logged to /Library/Ruby/Gems/1.8/gems/gsl-1.14.7/ext/gem_make.out

1 Ответ

2 голосов
/ 19 ноября 2011

Я наконец-то установил gsl!

Важно установить версию gsl, соответствующую используемой вами версии rb-gsl, в моем случае 1.14.

Для тех,кто ничего не знает о компиляции дерьма в c, как я:

Скачайте и распакуйте ваш пакет gsl. Перейдите в эту папку в терминале. Введите эти команды:

./configure
make clean
make
sudo make install

Команда make install, которую я предполагаю, устанавливаетв стандартном месте?

Как только я это сделал,

sudo gem install gsl

отлично работал!

Я также нашел эту замечательную вступительную статью об установке гемов с собственными расширениями икакого черта все эти вещи на самом деле делают:

http://patshaughnessy.net/2011/10/31/dont-be-terrified-of-building-native-extensions

...