Can't install RedCloth gem, fails to compile

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi there,

I’m trying to install the RedCloth gem on my Arch Linux (64bit) system,
but hadn’t had success yet, RedCloth doesn’t seem to compile. Here’s the
installation output:

======================================
$ LANG=en_US.utf8 sudo gem install RedCloth
Building native extensions. This could take a while…
ERROR: Error installing RedCloth:
ERROR: Failed to build gem native extension.

    /opt/rubies/ruby-1.9.2-p180/bin/ruby extconf.rb

checking for main() in -lc… yes
creating Makefile

make
gcc -I. -I/opt/rubies/ruby-1.9.2-p180/include/ruby-1.9.1/x86_64-linux

  • -I/opt/rubies/ruby-1.9.2-p180/include/ruby-1.9.1/ruby/backward
  • -I/opt/rubies/ruby-1.9.2-p180/include/ruby-1.9.1 -I. -fPIC -O3 -ggdb
  • -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith
  • -Wwrite-strings -Wno-missing-field-initializers -Wno-long-long -fPIC
  • -O0 -Wall -Werror -o redcloth_inline.o -c redcloth_inline.c
    ragel/redcloth_inline.c.rl: In function ‘red_block’:
    ragel/redcloth_inline.c.rl:99:9: error: variable ‘attr_regs’ set but not
    used [-Werror=unused-but-set-variable]
    cc1: all warnings being treated as errors

make: *** [redcloth_inline.o] Error 1

Gem files will remain installed in
/opt/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/RedCloth-4.2.7 for
inspection.
Results logged to
/opt/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/RedCloth-4.2.7/ext/redcloth_scan/gem_make.out

Here’s the content of the gem_make.out file:

=======================================
$ cat
/opt/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/RedCloth-4.2.7/ext/redcloth_scan/gem_make.out
/opt/rubies/ruby-1.9.2-p180/bin/ruby extconf.rb
checking for main() in -lc… yes
creating Makefile

make
gcc -I. -I/opt/rubies/ruby-1.9.2-p180/include/ruby-1.9.1/x86_64-linux

  • -I/opt/rubies/ruby-1.9.2-p180/include/ruby-1.9.1/ruby/backward
  • -I/opt/rubies/ruby-1.9.2-p180/include/ruby-1.9.1 -I. -fPIC -O3 -ggdb
  • -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith
  • -Wwrite-strings -Wno-missing-field-initializers -Wno-long-long -fPIC
  • -O0 -Wall -Werror -o redcloth_inline.o -c redcloth_inline.c
    ragel/redcloth_inline.c.rl: In function ‘red_block’:
    ragel/redcloth_inline.c.rl:99:9: error: variable ‘attr_regs’ set but not
    used [-Werror=unused-but-set-variable]
    cc1: all warnings being treated as errors

make: *** [redcloth_inline.o] Error 1

And here’s some information about my setup:

=======================================
√ quintus@hades => ~
$ ruby -v
ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-linux]
√ quintus@hades => ~
$ gem env
RubyGems Environment:

  • RUBYGEMS VERSION: 1.8.4
  • RUBY VERSION: 1.9.2 (2011-02-18 patchlevel 180) [x86_64-linux]
  • INSTALLATION DIRECTORY:
    /opt/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1
  • RUBY EXECUTABLE: /opt/rubies/ruby-1.9.2-p180/bin/ruby
  • EXECUTABLE DIRECTORY: /opt/rubies/ruby-1.9.2-p180/bin
  • RUBYGEMS PLATFORMS:
    • ruby
    • x86_64-linux
  • GEM PATHS:
    • /opt/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1
    • /home/quintus/.gem/ruby/1.9.1
  • GEM CONFIGURATION:
    • :update_sources => true
    • :verbose => true
    • :benchmark => false
    • :backtrace => false
    • :bulk_threshold => 1000
    • “install” => “–format-executable”
    • “update” => “–format-executable”
    • “rdoc” => “–format=hanna”
  • REMOTE SOURCES:
    • http://rubygems.org/
      √ quintus@hades => ~
      $ LANG=en_US.utf8 gcc --version
      gcc (GCC) 4.6.0 20110513 (prerelease)
      Copyright (C) 2011 Free Software Foundation, Inc.
      This is free software; see the source for copying conditions. There is
      NO
      warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
      PURPOSE.

√ quintus@hades => ~
$ uname -a
Linux hades 2.6.38-ARCH #1 SMP PREEMPT Fri May 13 09:24:47 CEST 2011
x86_64 AMD Athlon™ II X4 640 Processor AuthenticAMD GNU/Linux
√ quintus@hades => ~
$

It seems that RedCloth’s Makefile instructs GCC to treat warnings as
errors (as it can be seen in the build output) and then a warnings
occurs during compilation, causing GCC to abort compilation.
Is there any way to ignore this restriction?

Valete,
Marvin
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQEcBAEBAgAGBQJN39CKAAoJELh1XLHFkqhaLlcH/2rOylKJvfQgnTzD7FIbVD6x
eA1W/tR5JZWFWQRbRX/7aZSu7a2MoK9dtS8j/s1UC8mLrs9P2HYZMiWAS3uDGVRw
MY6d0ATyFbAYGuNGYBpdN1k86c7cGD93Dt5CDglDOqdWWcMownV6Ziwi45Wdctcn
1VYyWYBs2JfPe0NCroTqNhJUZrh79HiRf3Gdj5fs3KiI7W7PPdyA/b1yQKmZ+CDs
v0GGQ2dn5iQTVphH2AgBAG8sCZZ/NuzE0PXxb44+EIVRI8cRstBr2nEqyhekv9yw
Crkjxmv3JnCEZQ2thSJyaUUCqwLO+N9yVoy6IpnElAQOxD8/tFrbfpP+QxV2Tig=
=RyzJ
-----END PGP SIGNATURE-----

Yes, this has been an issue for me as well.

I’ve generally ignored this by forcing my Gemfile in Rails to use 4.2.3,
which is obviously a less than ideal, but usable workaround.

Jase.

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Am 28.05.2011 00:43, schrieb Jase:

Yes, this has been an issue for me as well.

I’ve generally ignored this by forcing my Gemfile in Rails to use 4.2.3,
which is obviously a less than ideal, but usable workaround.

Jase.

Thanks, version 4.2.3 compiles as expected:

=======================================================
√ quintus@hades => ~
$ sudo gem install RedCloth -v 4.2.3
Passwort:
Fetching: RedCloth-4.2.3.gem (100%)
Building native extensions. This could take a while…
Successfully installed RedCloth-4.2.3
1 gem installed
Installing ri documentation for RedCloth-4.2.3…
Installing RDoc documentation for RedCloth-4.2.3…
√ quintus@hades => ~
$

I’ve just seen that the issue has already been reported on RedCloth’s
issue tracker at
http://jgarber.lighthouseapp.com/projects/13054/tickets/219-427-installation-issue-on-arch-linux-x64
, so hopefully it gets fixed in a future version (easiest maybe not to
use -Werror?).

Thanks again!

Vale,
Marvin
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQEcBAEBAgAGBQJN4KxmAAoJELh1XLHFkqhail0IAJ1benw4oA/In/j8W1HAlOYQ
+IACEwsWRtb0r6hekYkWfr6gCQ8ADScTRb+4ynYVjIUOI2ewP5D5B/S9WY6zx5XS
EOMUe9laXAbnSWORsWEpjTQ0ZUTC0+0MCmnqPVH/oeMqm6oiC2XoyjczmGytFs5W
qjV0jxXy7wO+RA9qEoZSbPDh3GZQR2GnzK6sKUs6RcgV93wSbzCbU8v1sv0HioJv
JAu9+9s0+iQlZQzPSRFbdikpWaKZ4nbY+qHVCAycGIkDoazKqn4GnmNzefleGeQo
RZeTLFRWUKg6lO/TbykXJ/A0JL5VC7Vr0mKa8UtqZKIv4toVOHD6an+MOc6q9ug=
=8hw0
-----END PGP SIGNATURE-----