Red Hat Bugzilla – Bug 667144
Source RPM spec file doesn't obey %__cc, %__cpp, %__cxx compiler macros
Last modified: 2017-01-09 11:13:06 EST
Created attachment 471689 [details]
Patch to add correct passing of compiler settings specified in the rpm macros
Description of problem:
The spec file in the source rpm package ignores the compiler rpm macros (or rather, doesn't specify them, so the build defaults to gcc whatever the rpm macros are set to. The macros %__cc, %__cpp, %__cxx, etc. should always be passed to the build process in the appropriate way (environment variables, parameters, whatever) - that's what they are for.
bzip2 spec file, for example, does this correctly, as do a number of other packages, so there is ample precedent for doing this right.
Version-Release number of selected component (if applicable):
gzip-1.3.12-18.el6.src.rpm from RHEL6
Steps to Reproduce:
1. Use a different compiler, or build a custom gcc and call the binaries something different, e.g. mygcc
2. Specify it in /usr/lib/rpm/rpmmacros or ~/.rpmmacros
3. rpm -ivh gzip-1.3.12-18.el6.src.rpm; cd ~/rpmbuild/SPECS; rpmbuild -bb gzip.spec
gzip builds using gcc regardless of what is specified in the rpm macros.
rpm macros should be obeyed and the specified compiler should be used.
gzip builds and works correctly with Intel ICC / XE compiler (and runs a few percent faster), so as a package, it isn't very GCC specific.
A rather trivial patch to fix this is attached.
This request was evaluated by Red Hat Product Management for
inclusion in the current release of Red Hat Enterprise Linux.
Because the affected component is not scheduled to be updated
in the current release, Red Hat is unfortunately unable to
address this request at this time. Red Hat invites you to
ask your support representative to propose this request, if
appropriate and relevant, in the next release of Red Hat
Enterprise Linux. If you would like it considered as an
exception in the current release, please ask your support