Red Hat Bugzilla – Bug 575157
cman cannot be rebuilt with latest nss libraries
Last modified: 2016-04-26 11:00:49 EDT
Description of problem:
cman srpm rebuild fails with:
/usr/include/nspr4/prlink.h:52: warning: function declaration isn't a prototype /usr/include/nspr4/prlink.h:211: warning: function declaration isn't a prototype
Version-Release number of selected component (if applicable):
# rpm -q nss nspr cman
Steps to Reproduce:
1. rpmbuild -ba cman.spec
I don't get the warm and fuzzies from the fact that use of nss makes me DISABLE compiler warnings.
It stems from a bad function prototype in prlink.h:
For fence_xvm, the best option is to use:
#pragma GCC diagnostic ignored "-Wstrict-prototypes"
... at the beginning of the file(s) where nss or nspr includes are used. This prevents the need to ignore strict-prototypes elsewhere in the code base during compilation.
Unfortunately this trick doesn't work with gcc version included in rhel5.
You need to use -Wno-strict-prototypes.
Created attachment 403833 [details]
Patch fixing compile against nspr-4.8.2+
should be clone for RHEL4 too
cman-kernel-2.6.9-56.7.el4_8.12.can be built with nss-22.214.171.124.3-1.el4_8.2 but fails to build if 3.12.6-1.el4_8 is installed
cman-kernel does not use nss; I do not understand how building it could fail due to nss or nspr updates.
Furthermore, if there is an identifiable point at which an update of a library broke compilation of applications, it is a regression in the library.
This isn´t a new bug. nss maintainers have been aware of this issue for sometime (reported several months ago against Fedora).
And for sure not a cman issue.
Time nss people fix their stuff.
I do not see value in sweeping the error under the rug by not compiling with -Wstrict-prototypes. Consequently, I have removed -Werror.
A change to nss caused this (not nspr or gcc, as previously suspected)
Patch in https://bugzilla.redhat.com/attachment.cgi?id=409353
that patch should work for this bug as well.
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.