Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.

Bug 1514358

Summary: gobject-introspection: gcc fails to compile software when redhat-rpm-config isn't installed
Product: [Fedora] Fedora Reporter: Florian Weimer <fweimer>
Component: gobject-introspectionAssignee: Colin Walters <walters>
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 26CC: davejohansen, dcbw, extras-qa, fmuellner, fweimer, jakub, jwakely, law, lutter, mastahnke, mpolacek, mtasaka, mtasaka, ngompa13, otaylor, s, vanmeeuwen+fedora, vondruch, walters
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1432191 Environment:
Last Closed: 2017-11-20 06:46:44 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:

Description Florian Weimer 2017-11-17 08:34:52 UTC
+++ This bug was initially created as a clone of Bug #1432191 +++

Description of problem:
Since the hardened by default change, gcc will sometimes fail to compile stuff if redhat-rpm-config isn't installed. This is because it now depends on the redhat-hardened wrappers shipped in redhat-rpm-config.

This problem is so bad that it's documented on developer.fedoraproject.org: https://developer.fedoraproject.org/tech/languages/ruby/gems-installation.html

Please split out the hardening wrappers into their own package and make gcc depend on them.

Version-Release number of selected component (if applicable):
6.3.1-1.fc25

Additional info:
This also affects Fedora 24, Fedora 26, and Rawhide.

--- Additional comment from Florian Weimer on 2017-03-14 19:48:24 CET ---

This looks like a ruby bug to me.  It extracts the build flags from the build environment.  As such, it is the responsibility of the ruby package to replicate the build environment (e.g., the rubygems package should depend on redhat-rpm-config).

GCC itself works just fine without redhat-rpm-config.

--- Additional comment from Neal Gompa on 2017-03-18 16:03:16 CET ---

If it was just ruby, sure. But it also happens with lots of different things[1][2][3][4][5].

It's a fairly generic thing, affecting C/C++, Python, and other things that attempt to use GCC.

[1]: https://bugs.launchpad.net/ironic/+bug/1527614
[2]: http://stackoverflow.com/questions/34624428/g-error-usr-lib-rpm-redhat-redhat-hardened-cc1-no-such-file-or-directory
[3]: http://blog.khmersite.net/2016/05/fedora-2324-gcc-error-usrlibrpmredhatredhat-hardened-cc1/
[4]: https://bugzilla.redhat.com/show_bug.cgi?id=975147
[5]: http://snatverk.blogspot.com/2015/12/gcc-error-when-install-r-ggplot2.html

--- Additional comment from Jonathan Wakely on 2017-03-18 18:20:24 CET ---

It's still not a problem with GCC. Those things are passing an option to gcc telling it to use a file that is part of redhat-rpm-config, so those things should depend on redhat-rpm-config.

If I call gcc with -lcurl and haven't installed libcurl-devel it fails to find the file, but that doesn't mean gcc should depend on libcurl.

--- Additional comment from Neal Gompa on 2017-11-17 03:44:38 CET ---

This is definitely still a problem, because I observed this when setting the CI for gsignond[1][2].

[1]: https://gitlab.com/Conan_Kudo/gsignond/-/jobs/39973042
[2]: https://gitlab.com/Conan_Kudo/gsignond/commit/88dd2bdeb652199325e9f19bda774aab6ef022cd

--- Additional comment from Florian Weimer on 2017-11-17 09:32:28 CET ---

This is a bug in rubygems because it bakes toolchain compilation flags into RPM packages.  It should not do that.

Comment 1 Mamoru TASAKA 2017-11-20 06:46:44 UTC
Actually after debugging the case,
> https://gitlab.com/Conan_Kudo/gsignond/-/jobs/39973042

it turned out that this case is due to bug 1217376 , i.e. python2 distutils embeds this option, not gobject-introspection.

*** This bug has been marked as a duplicate of bug 1217376 ***