RubyGems 1.8 treats warnings as errors for C extensions, fails toinstall RedCloth?

Q

Quintus

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

Hi there,

I just tried to install the RedCloth gem:

========================================
$ LANG=en_US.utf8 sudo gem install RedCloth
Fetching: RedCloth-4.2.7.gem (100%)
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
========================================

Obviously RedCloth generates some warnings during compilation, and now
RubyGems advises the compiler to treat them as errors--as far as I know
this wasn't the case with previous versions of RubyGems, because some
days ago RedCloth installed without problems (no, no new release of
RedCloth happened in the meantime). This causes the installation of
RedCloth to fail.
I'm not against treating warnings as errors, but there should be a way
to disable this setting, maybe via a commandline option
- --ignore-compilation-warnings or something like that, because I'm not a
RedCloth developer and therefore not interested in the warnings.

Further information on my system:

uname -a:
Linux hades 2.6.38-ARCH #1 SMP PREEMPT Tue May 3 07:40:34 CEST 2011
x86_64 AMD Athlon(tm) II X4 640 Processor AuthenticAMD GNU/Linux

ruby -v:
ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-linux]

gem env:
RubyGems Environment:
- RUBYGEMS VERSION: 1.8.2
- 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/

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

iQEcBAEBAgAGBQJNy7euAAoJELh1XLHFkqhaAiYH/23x5jFcqXKWKRe9xEitCvcj
js+ZxO6oNyDOiMxL7qD9GaCXywbU6/0ivPyueoVVj8f1sR47omhe9v/iZiKUtEpq
5YGMF5CsgmLV5rIzoFq8RghccDGTYyM8PMJiHwSp7oNv2JZuQvG7NLpPOG8lnHKh
XupTuS/7jq+K6g/Ddy1GW6/UhPj3FjZ2jaGoFHW7vZvGmCvER2xu/JsuvIgU1bYZ
78KhxExSrM/REAoGfWv0kuKtablfkSqnvO1nzxzr4MSOwXao7M2Lw7fFnuUVsbjO
vXuSa93Fut/kwtvOdDB3uAkTrICV1plEAehfyaflg7YCSMPsMO+n5u3CqUs0evU=
=n68h
-----END PGP SIGNATURE-----
 
Q

Quintus

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

Am 12.05.2011 13:27, schrieb Nikolai Weibull:

You're right, that's odd. Then it's a bug in RedCloth, as it's obviously
supposed to build without warnings. I'll report this to the RedCloth
team. Thanks.
It seems your environment has changed in some other way. Perhaps GCC
has been upgraded?

Indeed, last friday I upgraded several things. I'm not sure wheather or
not GCC has been affected, but at least it's possible. Thanks again.

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

iQEcBAEBAgAGBQJNzD+0AAoJELh1XLHFkqhai9QIAJSoSd+iGo/3QmZzVGc8Espk
M5/jo+AaO68MGdLPTS/VlP6G0Y38IDiFEVdLNXx6w3Cnrtivn2EjufhHzGFFFfjB
9Mn3deAF5m21UFdR2ohnqpJLVdfWdCmNcJESVLcwRnWa4R8rrvMtlvEDbYG9DgRY
NFJnRAfTNvZ0RYqE/UKHthycLrTklFhlSAV8xHkaCjEV+BF1Yu8pNvzaPOSLEylC
KXfdAQu+68UQuzTC4S4Tvi1vOJupIQK27ewwC26pMOYTaoewSuhtntTprp1XvA6e
mjDWxeBCNx5NXdH0LaNS4GWx77GlV7e1JTtHCljh/s0JSkMZO1WLOtGyl9T6u4s=
=ty9t
-----END PGP SIGNATURE-----
 
R

Ryan Davis

Obviously RedCloth generates some warnings during compilation, and now
RubyGems advises the compiler to treat them as errors--as far as I = know
this wasn't the case with previous versions of RubyGems, because some
days ago RedCloth installed without problems (no, no new release of
RedCloth happened in the meantime). This causes the installation of
RedCloth to fail.

Can we stop with the knee-jerk reaction to blame rubygems for everything =
including the national deficit?

Rubygems calls make/rake/whatever. That's it.
 
N

Nikolai Weibull

On May 12, 2011, at 03:35 , Quintus wrote:
Can we stop with the knee-jerk reaction to blame rubygems for everything =
including the national deficit?
Rubygems calls make/rake/whatever. That's it.

Was this really necessary? Make the output clearer instead of
complaining that people don=E2=80=99t understand it.
 
R

Ryan Davis

=20
=20
Was this really necessary? Make the output clearer instead of
complaining that people don=92t understand it.

I can't make the output clearer as I didn't make the output to begin =
with. Again, rubygems just calls make/rake/whatever. That's it.
 
L

Luis Lavena

Was this really necessary?  Make the output clearer instead of
complaining that people don’t understand it.

The problem is not RubyGems actually, but that RedCloth turns -Werror
so warnings are treated as errors and 'make' interpret GCC exit code
as error, not success.

If you see the output of the gcc part:

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

That is not RubyGems, that is gcc output of make running. Has nothing
to do with make the output cleaner.

RubyGems takes the error of Make and tells you "there was an error
with compilation of extension". RubyGems can't guess or determine what
failed to provide a better error for you, that will be overly
complicated.

As OP said, there must be a change in GCC version or even Ruby version
that could have been the root of this issue.
 
N

Nikolai Weibull

The problem is not RubyGems actually, but that RedCloth turns -Werror
so warnings are treated as errors and 'make' interpret GCC exit code
as error, not success.

Yes, I know. That=E2=80=99s why I wrote

http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/383052

As I tried to explain to Ryan in a subsequent email, what I meant was
that I didn=E2=80=99t think it necessary to complain about Quintus=E2=80=99=
s question
in such a harsh way, especially /after/ I had already provided an
answer.

http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/383187

I agree that RubyGems gets some unwarranted flak, but my point was
that users obviously have a hard time discerning what=E2=80=99s at fault wh=
en
an error occurs when installing a gem. By improving the output of
RubyGems when an error occurs, using information provided with the
gem, such as home page, author, and email address, users will know who
to contact to report said error.
RubyGems takes the error of Make and tells you "there was an error
with compilation of extension". RubyGems can't guess or determine what
failed to provide a better error for you, that will be overly
complicated.
As OP said, there must be a change in GCC version or even Ruby version
that could have been the root of this issue.

No, I said that.

I don=E2=80=99t understand why I am constantly being misunderstood, but it
seems that I am at fault. Perhaps I should make my output clearer.
 
L

Luis Lavena

I agree that RubyGems gets some unwarranted flak, but my point was
that users obviously have a hard time discerning what’s at fault when
an error occurs when installing a gem.  By improving the output of
RubyGems when an error occurs, using information provided with the
gem, such as home page, author, and email address, users will know who
to contact to report said error.

Can you open a feature request for that?

http://rubyforge.org/tracker/?atid=578&group_id=126&func=browse

Even better if a fork/pull request is done at GitHub:

http://github.com/rubygems/rubygems

I think is not that hard to implement and for sure can serve better to
the user.
No, I said that.

I don’t understand why I am constantly being misunderstood, but it
seems that I am at fault.  Perhaps I should make my output clearer.

Well, some of your answers do not show up in my ruby-talk copy of this
thread, so seems is not your fault been misunderstood.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,581
Members
45,056
Latest member
GlycogenSupporthealth

Latest Threads

Top