Компиляция расширений 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"
Не уверен, что это будет правильным способом решения этой проблемы, хотя...