2011-07-20 13 views
10

Tengo dificultades para instalar la gema RedCloth. Cuando escribo¿Hay alguna manera de cambiar las opciones de compilación de gcc para una gema?

gem install RedCloth 

me sale:

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

La razón es la opción de compilación -Werror pasado a gcc en el extconf.rb de la gema RedCloth:

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

El problema es que cuando elimino la opción -Werror del archivo, vuelve a aparecer automáticamente la próxima vez que ejecuto el comando "gem install".

¿Cómo puedo desconectar permanentemente la opción -Werror?


Otra opción sería la de rebajar a gcc 4.5.2, pero no lo es en los repositorios de Fedora 15. mi

y prefiero evitar compilar desde el código fuente ...

Cualquier ayuda muy apreciada.

Respuesta

21

tenía el mismo problema y aquí está la solución:

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

Tienes que escapar de las comillas si usted tiene más de un argumento.

+1

dulce, funciona! ¿Hay alguna manera de poner esto en el Gemfile para que otras personas en el proyecto no tengan que instalar la gema por separado? –

+0

Tengo un problema similar con 'gem install rbczmq' causado por una advertencia" atribuido-en desuso "; pero pasar en '-Wno-deprecated-declarations' no funcionó. Tuve que actualizar el archivo de encabezado c real. – motivic

9

Si está utilizando bundler, las siguientes obras:

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

Yay, esto funcionó para otra gema que faltaba 'linux/inet_diag.h':' paquete config build.raindrops --with-cflags = \ "- I /.../ kernel-xyz /.../ usr/include \ "' – l0b0

Cuestiones relacionadas