Red Hat Bugzilla – Bug 837701
glibc 2.15.90 not distinguishable from glibc 2.15 (__GLIBC_MINOR__ defined the same)
Last modified: 2016-11-24 11:17:32 EST
Description of problem:
F18 (rawhide) currently ships glibc 2.15.90 which is a prerelease version of glibc 2.16. Despite it being a prerelease of 2.16 it still defines the __GLIBC_MINOR__ macro as 15, making it impossible to use conditionals based on this macro to distinguish between 2.15 the 2.16 prerelease version.
Due to changes in the glibc headers one of the packages I maintain needs to be patched to compile properly with the new glibc. However, if the patched code should still be compilable with older versions the patch should contain conditionals to do different things on the new and the old glibc. Since the 2.16 prerelease version (2.15.90) currently in rawhide still defined __GLIBC_MINOR__ to be 15, this can not be done properly, and the patch can not be sent upstream.
I have seen that there is a scratch build of the proper glibc 2.16 in koji that properly declares __GLIBC_MINOR__ to be 16. If this were to be built for rawhide that would resolve the problem. When is 2.16 planned to be build as a proper non-scratch build for rawhide?
Version-Release number of selected component (if applicable):
__GLIBC_MINOR__ is 15 although the headers are not compatible with glibc 2.15
__GLIBC_MINOR__ is 16
We inherit the definition of GLIBC_MINOR from the upstream master glibc sources; their choice has always been to identify the development releases in the manner you've noticed.
In general rather than testing for a specific version, I would recommend testing for features. That's generally much more reliable approach to deal with that kind of issue.
WRT an official build with using the released glibc-2.16, they should be in Koji now and should appear in rawhide shortly.