The Fedora 21 repository has glibc-2.20-8.fc21
I want to install glibc 2.21 from source. (I realize we’re days away from Fedora 22 release, but this question will apply next time I’m interested in installing a more recent version of glibc.)
Running configure on the 2.21 source says:
On GNU/Linux systems the GNU C Library should not be installed into /usr/local since this might make your system totally unusable.
It references to see the glibc faq, which then says:
The GNU C compiler treats /usr/local/include and /usr/local/lib in a special way, these directories will be searched before the system directories. Since on GNU/Linux the system directories /usr/include and /usr/lib contain a --- possibly different --- version of glibc and mixing certain files from different glibc installations is not supported and will break, you risk breaking your complete system. If you want to test a glibc installation, use another directory as argument to --prefix. If you like to install this glibc version as default version, overriding the existing one, use --prefix=/usr and everything will go in the right places.
I’m debating which way I want to go (a separate directory other than /usr/local, or overriding in /usr).
But, I noticed somewhere that said if you’re going to do this, you want to make sure to use the same configure options your linux distribution used.
So, I downloaded glibc-2.20-8.fc21.src.rpm and extracted it. For the first time, I’ve seen what the linux distributions are doing to the upstream code. There’s 48 .patch files, 3 extra .c files, an extra .h file, and some .conf files.
Is it (and if so, how is it) safe to ever install glibc from source, regardless of if you’re using a second (non /usr/local) location or overwriting in /usr?
All those patches the RedHat/Fedora repository “people” have made are going to be skipped. (I assume these distribution-specific patches are important…) How are so many places saying upgrading glibc is generally safe?
For that matter, if many distribution packages have this amount of distribution customization, how does building anything from source even work? I’ve been running trunk source builds of gcc and gdb for a long time, and occasionally run into bumps because it isn’t release code, but it generally works… I don’t get how those work now, either, without the distribution repository patches.