Bug 1000794 - ruby-devel should have gcc as dependency
ruby-devel should have gcc as dependency
Product: Fedora
Classification: Fedora
Component: ruby (Show other bugs)
All Linux
unspecified Severity low
: ---
: ---
Assigned To: Vít Ondruch
Fedora Extras Quality Assurance
Depends On:
  Show dependency treegraph
Reported: 2013-08-25 06:11 EDT by Dāvis
Modified: 2013-08-27 02:57 EDT (History)
7 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2013-08-26 07:22:22 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Dāvis 2013-08-25 06:11:23 EDT
Description of problem: 

How reproducible:

Steps to Reproduce:

Actual results:

Expected results:

Additional info:
Comment 1 Dāvis 2013-08-25 06:18:19 EDT
whoops, I hit enter, but didn't thought it will submit it immediately... and seems I can't delete it either.

anyway on freshly installed Fedora 19
when I install `ruby` and `ruby-devel`, I still don't have compiler such as gcc
so when I try to update gems with `gem update` it fails to compile native extensions because I don't have toolchain.

I can't imagine use of ruby-devel without compiler so I think it should be as dependency.
Comment 2 Dāvis 2013-08-25 06:20:55 EDT
here's how it looked like after I typed `gem update`

Updating json
Fetching: json-1.8.0.gem (100%)
Building native extensions.  This could take a while...
ERROR:  Error installing json:
        ERROR: Failed to build gem native extension.

    /usr/bin/ruby extconf.rb
creating Makefile

make "DESTDIR="
gcc -I. -I/usr/include -I/usr/include/ruby/backward -I/usr/include -I. -DJSON_GENERATOR    -fPIC -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -grecord-gcc-switches -mtune=generic -fPIC -O3 -Wall -O0 -ggdb -m64 -o generator.o -c generator.c
make: gcc: Command not found
make: *** [generator.o] Error 127

Gem files will remain installed in /usr/local/share/gems/gems/json-1.8.0 for inspection.
Results logged to /usr/local/share/gems/gems/json-1.8.0/ext/json/ext/generator/gem_make.out
Comment 3 Vít Ondruch 2013-08-26 07:22:22 EDT
Hi Dāvis,

Than you for your suggestion. Although I agree that for the use case you describe, it would make much sense, the -devel package is generally not bound to gcc. You can install the package independently, for example to use it with different compiler, to read the header files, to package ruby library, to query ruby build options and in other languages also for different needs. So as long as RPM is not expressive enough to have it as *optional* dependency, I have to reject it.
Comment 4 Dāvis 2013-08-26 15:42:34 EDT
Ok, fair enough. But doesn't yum have something as "suggested packages"? I think I've seen that somewhere, maybe on Ubuntu...
Comment 5 Vít Ondruch 2013-08-27 01:59:03 EDT
Not sure about Ubuntu, but nothing like this in Fedora :/ The only remotely similar thing in Fedora is comps [1].

But generally, the idea is that you should not need compiler on your system, since Fedora provides you precompiled version of gem.

[1] https://fedorahosted.org/comps/
Comment 6 Dāvis 2013-08-27 02:41:22 EDT
Tell that to Gems :D Lot of gems require compilation.

And yeah, it's apt-get (Ubuntu/Debian, etc) [1] with such feature, I think would be good if yum would have something similar. Or maybe I should learn how to properly use yum groupinstall...

[1] http://cdn.howtogeek.com/wp-content/uploads/2012/03/apt-get-install.png
Comment 7 Vít Ondruch 2013-08-27 02:57:01 EDT
(In reply to Dāvis from comment #6)
> Tell that to Gems :D Lot of gems require compilation.

Lot of the gems which needs compilation is already in Fedora. You gave example with JSON and we have rubygem-json in Fedora. If that is too old version, you might want to check with its maintainer (probably via Bugzilla) if update is feasible.

> I think would be good if yum would have something similar.

You can't imagine how happy I would be, if that happens, but that is surprisingly low priority for RPM/YUM devs :/

Note You need to log in before you can comment on or make changes to this bug.