Bug 1000794

Summary: ruby-devel should have gcc as dependency
Product: [Fedora] Fedora Reporter: Dāvis <davispuh>
Component: rubyAssignee: Vít Ondruch <vondruch>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: unspecified    
Version: 19CC: bkabrda, jeremy, mmorsi, mtasaka, tagoh, vanmeeuwen+fedora, vondruch
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-08-26 11:22:22 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Dāvis 2013-08-25 10:11:23 UTC
Description of problem: 




How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 1 Dāvis 2013-08-25 10:18:19 UTC
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 10:20:55 UTC
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 11:22:22 UTC
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 19:42:34 UTC
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 05:59:03 UTC
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 06:41:22 UTC
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 06:57:01 UTC
(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 :/