2011-07-20 11 views
10

Próbuję zainstalować klejnot RedCloth. Po wpisaniuCzy istnieje sposób na zmianę opcji kompilacji gcc dla klejnotów?

gem install RedCloth 

uzyskać:

[…] 
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 
[…] 

Powodem jest -Werror opcja kompilacji przeszedł do gcc w extconf.rb klejnotu RedCloth:

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

Problem jest to, że po usunięciu opcji -Werror z pliku, pojawia się ona ponownie automatycznie przy następnym uruchomieniu polecenia "gem install".

Jak mogę trwale wyłączyć opcję -Werror?


Innym rozwiązaniem byłoby obniżyć do gcc 4.5.2, ale nie jest w repozytoriach mojej Fedorze 15.

I wolałbym uniknąć go skompilować ze źródeł ...

Każda pomoc doceniona.

Odpowiedz

21

miał ten sam problem i tu jest rozwiązanie:

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

trzeba uciec cytaty, jeśli masz więcej niż jeden argument.

+1

Słodki, to działa! Czy istnieje sposób na umieszczenie tego w Gemfile, aby inni ludzie w projekcie nie musieli instalować klejnotu osobno? –

+0

Mam podobny problem z 'gem install rbczmq' spowodowany przez" ostrzeżenie "uznane za nieprzyznane; ale przekazywanie w "-Wno-przestarzałych-deklaracjach" nie działało. Musiałem zaktualizować rzeczywisty plik nagłówkowy c. – motivic

9

Jeśli używasz bundler następujące utwory:

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

Yay, to działało dla innego klejnotu, który brakowało 'linux/inet_diag.h':' bundle config build.raindrops --with-cflags = \ "- I /.../ kernel-xyz /.../ usr/dołącz \ " – l0b0

Powiązane problemy