Компиляция расширений C в dep_selector Ruby gem с помощью Rake на FreeBSD

Я пытаюсь установить Ruby Gem: dep_gecode, Он компилирует некоторые расширения C, но компиляция не удалась, потому что компилятор cpp не запускается с правильно установленными включаемыми папками.

Когда я бегу rake install он автоматически создает Makefile из extconf.rb скомпилировать расширения. Когда я редактирую Makefile и вручную добавляю флаг -I/usr/local/include компиляция расширений завершается успешно. Но когда я перезапущу rake install Makefile перезаписывается и компиляция снова завершается неудачно. Очевидно, мне нужно исправить extconf.rb но я не совсем знаю как.

Теперь немного подробнее. Источник для dep_gecode драгоценный камень здесь:

https://github.com/opscode/dep-selector

extconf.rb файл, который нужно изменить, находится здесь:

https://github.com/opscode/dep-selector/blob/master/ext/dep_gecode/extconf.rb

Что я хочу изменить в сгенерированном Makefile - это строка:

CPPFLAGS =  -I/usr/include   -I/usr/include -I/usr/local/include

вместо этого, который генерируется в данный момент:

CPPFLAGS =  -I/usr/include   -I/usr/include

Как видите, путь включения /usr/local/include пропал, отсутствует. Это стандартный путь включения в системах FreeBSD, который предполагает, что проблема может быть с Rake, а не с этим конкретным extconf.rb файл. Любая помощь с благодарностью.

Изменить: я только что нашел обходной путь. Достаточно добавить эту строку в extconf.rb чтобы эта папка правильно отображалась в сгенерированном Makefile:

$CPPFLAGS << "-I/usr/local/include"

Не уверен, что это будет правильным способом решения этой проблемы, хотя...

0 ответов

Другие вопросы по тегам