Как заставить установки Ruby Gems в Windows использовать MinGW для создания и компиляции?

Пытаясь обновить некоторые драгоценные камни на компьютере с Windows, я постоянно получаю эту ошибку для драгоценных камней, которые не имеют предварительно скомпилированных двоичных файлов:

Предусмотренные параметры конфигурации:

    --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:/server/ruby/bin/ruby

Это параметры конфигурации, которые предоставляются в файле ruby extconf.rb во время установки драгоценного камня.

Я установил MinGW, поэтому у меня должно быть все необходимое для установки, создания и компиляции этих драгоценных камней.
Однако я не знаю, как изменить конфигурацию для RubyGems. чтобы при вызове extconf.rb он включал соответствующие параметры, указывающие на включаемый каталог MinGW.


person Yardboy    schedule 03.10.2008    source источник


Ответы (5)


Существует DevKit, который вполне может быть тем, что вам нужно.

person Charles Roper    schedule 04.10.2008
comment
Спасибо - я не знал, пока не прочитал это, что драгоценные камни должны быть скомпилированы с тем же компилятором, который используется для самого языка Ruby. В таком случае я пошел другим путем - я установил VC6 и с одним незначительным добавлением кода в заголовочный файл, все работает просто отлично. Спасибо. - person Yardboy; 14.10.2008

Я не знаю, работает ли это с родным Windows Ruby, но если вы используете версию Cygwin и у вас установлен полный Cygwin (компиляторы и т. д.), то у вас не должно возникнуть никаких проблем — мы смогли использовать множество драгоценные камни, которые требуют скомпилированного материала.

person Community    schedule 04.10.2008

дворбой,

Жаль, что вы не упомянули, какой драгоценный камень вы пытаетесь обновить, вы только указали вывод параметров.

Кроме того, для некоторых из этих драгоценных камней требуются заголовки и библиотеки для разработки, а не только компилятор (MinGW).

Кроме того, MinGW будет работать до тех пор, пока ваша сборка Ruby создается с MinGW.

Проводится некоторая работа, чтобы облегчить это, но требования к компилятору, заголовкам и библиотекам необходимы на всех платформах, а не только на Windows.

Дополнительную информацию и ресурсы можно найти в моем блоге.

Ваше здоровье.

person Luis Lavena    schedule 04.06.2009

У меня была такая же проблема.

Единственный способ, который я обнаружил, чтобы получить драгоценные камни, которые не имеют предварительно скомпилированных двоичных файлов, таких как parsetree, для запуска в Windows, состоял в том, чтобы перекомпилировать исходный код Ruby с помощью Mingw, а также скопировать несколько библиотек и приложений из визуальной установки С++, которая у меня уже была. То, что я скопировал, включало библиотеку zlib, а также библиотеку iconv и приложение.

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

person Joe Soul-bringer    schedule 26.01.2009

В целом, по моему опыту, код, разработанный для системы unix, может быть очень сложно заставить работать на MinGW. Для быстрого порта используйте CygWin. Или сделайте полный перенос программного обеспечения на хост Windows, включая использование собственной оболочки Windows и API ОС, что чертовски дорого с точки зрения времени, но оно окупается, если вы планируете поддерживать Windows в долгосрочной перспективе.

Не знаком с этим конкретным программным пакетом, это просто общее наблюдение при попытке перенести некоторые другие подлые фрагменты кода в Windows.

person jakobengblom2    schedule 08.10.2008