Есть ли способ изменить параметры компиляции gcc для гема? - PullRequest
10 голосов
/ 20 июля 2011

Я изо всех сил пытаюсь установить драгоценный камень RedCloth.Когда я набираю

gem install RedCloth

, я получаю:

[…]
ragel/redcloth_attributes.c.rl: In function ‘redcloth_attribute_parser’:
ragel/redcloth_attributes.c.rl:26:11: error: variable ‘act’ set but not used [-Werror=unused-but-set-variable]
cc1: all warnings being treated as errors

make: *** [redcloth_attributes.o] Error 1 
[…]

Причина заключается в том, что опция компиляции -Werror передана gcc в extconf.rb в геме RedCloth:

require 'mkmf'
CONFIG['warnflags'].gsub!(/-Wshorten-64-to-32/, '') if CONFIG['warnflags']
$CFLAGS << ' -O0 -Wall -Werror' if CONFIG['CC'] =~ /gcc/
[…]

Проблема в том, что когда я удаляю опцию -Werror из файла, она снова появляется автоматически при следующем запуске команды "gem install".

Как я могу навсегда удалить опцию -Werror?


Другим вариантом было бы перейти на gcc 4.5.2, но его нет в репозиториях моей Fedora 15.

И я бы предпочел не скомпилировать его из исходного кода…

Любая помощь высоко ценится.

Ответы [ 2 ]

21 голосов
/ 23 июля 2011

Была такая же проблема, и вот решение:

$ sudo gem install RedCloth -- --with-cflags=\"-O2 -pipe -march=native -Wno-unused-but-set-variable\"

Вы должны избегать кавычек, если у вас есть более одного аргумента.

9 голосов
/ 24 ноября 2011

Если вы используете bundler, работает следующее:

bundle config build.RedCloth --with-cflags=\"-O2 -pipe -march=native -Wno-unused-but-set-variable\"
...