Итак, я не могу на всю жизнь заставить это работать должным образом. Моя конечная цель - установить и работать с гемом dbd-odbc, и из нескольких прочитанных мной вещей мне нужно установить привязку ODBC для ruby вместе с гемом dbd-odbc. Что ж, я могу установить гем dbd-odbc просто отлично, но когда дело доходит до попытки установить привязку, он вылился на меня так:
Building native extensions. This could take a while...
ERROR: Error installing ruby-odbc-0.9998.gem:
ERROR: Failed to build gem native extension.`
c:/tools/ruby/ruby-1.9.1-p376/bin/ruby.exe extconf.rb
checking for version.h... *** 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
--srcdir=.
--curdir
--ruby=c:/tools/ruby/ruby-1.9.1-p376/bin/ruby
--with-odbc-dir
--without-odbc-dir
--with-odbc-include
--without-odbc-include=${odbc-dir}/include
--with-odbc-lib
--without-odbc-lib=${odbc-dir}/lib
c:/tools/ruby/ruby-1.9.1-p376/lib/ruby/1.9.1/mkmf.rb:364:in 'try_do': The complier failed to generate an executable file. (RuntimeError)
You have to install development tools first.
from c:/tools/ruby/ruby-1.9.1-p376/lib/ruby/1.9.1/mkmf.rb:433:in 'try_cpp'
from c:/tools/ruby/ruby-1.9.1-p376/lib/ruby/1.9.1/mkmf.rb:811:in 'block in have_header'
from c:/tools/ruby/ruby-1.9.1-p376/lib/ruby/1.9.1/mkmf.rb:670:in 'block in checking_for'
from c:/tools/ruby/ruby-1.9.1-p376/lib/ruby/1.9.1/mkmf.rb:276:in 'block (2 levels) in postpone'
from c:/tools/ruby/ruby-1.9.1-p376/lib/ruby/1.9.1/mkmf.rb:250:in 'open'
from c:/tools/ruby/ruby-1.9.1-p376/lib/ruby/1.9.1/mkmf.rb:276:in 'block in postpone'
from c:/tools/ruby/ruby-1.9.1-p376/lib/ruby/1.9.1/mkmf.rb:250:in 'open'
from c:/tools/ruby/ruby-1.9.1-p376/lib/ruby/1.9.1/mkmf.rb:272:in 'postpone'
from c:/tools/ruby/ruby-1.9.1-p376/lib/ruby/1.9.1/mkmf.rb:669:in 'checking_for'
from c:/tools/ruby/ruby-1.9.1-p376/lib/ruby/1.9.1/mkmf.rb:810:in 'have_header'
from extconf.rb:22:in ''
Итак ... читая его, он говорит, что мне нужно сначала установить инструменты разработки. Прекрасно и модно. Я иду сюда и беру комплект разработчика. Я брожу здесь и читаю инструкции по его установке. Я устанавливаю его.
На заметку - я попробовал это с установкой 1.9.1 в один клик с сайта установщика ruby. Я пробовал это с предварительно скомпилированными двоичными файлами mswin-32 для ruby, под 1.8.6, 1.8.7 и 1.9.1. Никто из них не работал.
Я остановлюсь на установщике в один клик, поскольку, похоже, все инструкции, с которыми я сталкиваюсь в Интернете, используются. Хорошо. Это говорит, чтобы отредактировать мой файл fstab. Я делаю. Вот мои текущие настройки:
Моя установка ruby находится в: C:\tools\ruby\ruby19
В этот каталог был извлечен devkit, и я могу проверить / bin и увидеть там gcc.bat, make.bat и sh.bat.
Я следую инструкциям и изменяю свой файл devkit / msys / 1.0.11 / etc / fstab. Теперь это выглядит так:
C:/tools/ruby/ruby19/devkit/gcc/3.4.5 /mingw
C:/tools/ruby/ruby19/devkit/msys/1.0.11/usr/local /usr/local
Независимо от того, что я, похоже, делаю, я не могу на всю жизнь получить привязывающий камень odbc для компиляции с нативными расширениями. Я продолжаю получать ту же ошибку снова и снова. Это очень расстраивает - пожалуйста, помогите!