Came up again recently. PSA: "How do I install all of the GNU C Library project libraries that I just built?" https://sourceware.org/glibc/wiki/FAQ#How_do_I_install_all_of_the_GNU_C_Library_project_libraries_that_I_just_built.3F …
-
-
Replying to @CarlosODonell
In theory it *can* be upgraded safely & atomically by having all the glibc files be symlinks to pathnames with one common symlink component that can be replaced atomically via rename(2).
1 reply 0 retweets 0 likes -
Replying to @RichFelker @CarlosODonell
Although I suppose even atomic replacement does not suffice since it may happen between execve and open of DT_NEEDED libs...
1 reply 1 retweet 0 likes -
Replying to @RichFelker
Correct. I was careful with my example in the FAQ. Image-based OS updates which deploy complete images are safe against this kind of problem e.g. rpm-ostree or building and deploying from a container image. All mode 2 applications though.
1 reply 0 retweets 0 likes -
Replying to @CarlosODonell
Shameless plug: with musl, a single rename(2) over top of libc.so (which "make install" can do) safely does a complete atomic upgrade. :-)
1 reply 0 retweets 0 likes -
Replying to @RichFelker
Hah! But if I was reading the documentation in the middle of an upgrade, what would happen then? ;-) Really all of the large complex applications can have hundreds of libraries which all need to be upgraded in concert. We still need a distro-wide solution to atomic upgrades.
1 reply 0 retweets 0 likes -
Replying to @CarlosODonell
Well if the libraries have stable ABI boundaries it suffices for each one individually to be atomic.
1 reply 0 retweets 0 likes
Assuming they're done in dependency order.
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.