On Apr 12 2021, L A Walsh wrote:
Because glibc changed to 2.33, a large number of packages had to be updated.
On 2021/04/12 05:04, Andreas Schwab wrote: Nope. Nothing of that was necessary. Andreas.
On 2021/04/12 03:24, John Paul Adrian Glaubitz wrote:
This wasn't a "must", it was just done for performance reasons.
--- Just to be sure I wasn't misremembering, I installed glibc to a non-global location, and set my LD_LIBRARY_PATH to the new location. In the lib-root, I found: etc/ lib64/ sbin/ usr/ var/ under lib64, I find (among others): ├── lib64 │ ├── ld-2.33.so │ ├── ld-linux-x86-64.so.2 -> ld-2.33.so │ ├── ld-lsb-x86-64.so.3 -> ld-linux-x86-64.so.2 │ ├── libc-2.33.so │ ├── libc.so.6 -> libc-2.33.so --- I'm glad I installed this under a non-root location, since it shows the same error as before -- all programs except statically linked ones disabled:
ls ls: relocation error: /tmp/glibc/root/glibc-2.33/lib64/libc.so.6: symbol _dl_fatal_printf version GLIBC_PRIVATE not defined in file ld-linux-x86-64.so.2 with link time reference
Same message pops up for many if not most other programs needed to even copy or restore a file. Fortunately, this time, I was able to use 'unset LD_LIBRARY_PATH'. It sure looks to me, that if all the programs aren't relinked or rebuilt against the new glibc, they will fail. This is the problem I was talking about when I said that one should be able to add a new version of glibc and not have to update all programs on one's system. This is currently not the case. So, please explain how fixing a lib with multiple versions is worse than disabling all programs on the system that aren't updated at the same time. It shouldn't be necessary -- I agree. But it hasn't been my experience on SuSE for many years. How can it be fixed?