bigpup wrote: ↑Sat Aug 12, 2023 5:44 amBut what if there is no compatible newer operating system version to get it from, that has the glibc version you need?
Compile it from glibc source, in the version of the operating system you are using, may be only choice you have.
Compiling is exactly how it gets into a operating system being developed.
I do not think Ubuntu, Debian, Slacko, Mint, etc...... go find a version of Puppy Linux to get core Linux files and programs from.
Of course this is correct. In a new release of a distro the glibc will indeed be compiled from source.
The question of library directories (installation locations) can be determined as configure options when compiling
(Maybe --libdir=/lib64 for Slackware or --libdir=/lib/x86_64-linux-gnu which is a Debian or Ubuntu thing)
You would usually run ./configure --help in the source to see all configure options choose those in accordance with what the plan is.
Probably best to run make install with DESTDIR before considering any transplanting, because direct installation may break the build environment making life difficult.
Worth using search engine for "linux from scratch glibc" and look there for some pointers.
Must confess though I have not tried to do it in a Puppy, so just joining in with the chat in an interesting topic.
Important to understand though that glibc is a core library with some other stuff around it which is usually built first, and then all your other system libraries (even libstdc++ which is part of gcc) will depend on, and be linked to your original version of glibc, so if you actually remove your original you are hoping that your replacement will serve as a satisfactory foundation for everything, and if it is different from the original (which it must be) then there is always the danger that something somewhere will be unhappy and fail to work. That is why some might argue that "The best way to update your glibc is to update your Puppy (or other Linux distro) itself". Although you can do all the magic with more recent glibc packages and modified library paths and if that works then that may be a perfect solution.