They could, but they usually don’t, because of reasons like this. On “classical” distros, library updates are done much more reluctantly because an update to a share library does not trigger a complete rebuild of the system. So the solution is not technical, it’s organizational more often than not.
That being said, the statement that symbol conflicts do not exist on other distros is plainly not true.
That being said, the statement that symbol conflicts do not exist on other distros is plainly not true.
I have never claimed such a thing.
Classical distros have exactly one instance of a library ABI’s .so in most cases which is usually the only place where any given symbol is defined.
You could technically provoke a symbol conflict using LD_PRELOAD and the like but it’s not something you commonly run into because package upgrades always replace the previous version entirely.
You could technically have multiple conflicting sos on classical distros too by prefixing a more detailed version but you don’t; doing such things kinda what differentiates Nix from classical package management.
This QT issue in particular was an impurity (working outside of Nix’ pure model; not as intended) caused by “installing” qt libraries into your environment imperatively (which isn’t something you should do anyways) that was solved a couple years ago.
I switched context there quite a but. That part was directed at the underlying tone of the thread that implies that “other distros do not have these kind of conflict”. Should have put that in a separate reply to make it clearer. Please excuse the confusion 🙂
They could, but they usually don’t, because of reasons like this. On “classical” distros, library updates are done much more reluctantly because an update to a share library does not trigger a complete rebuild of the system. So the solution is not technical, it’s organizational more often than not.
That being said, the statement that symbol conflicts do not exist on other distros is plainly not true.
I have never claimed such a thing.
Classical distros have exactly one instance of a library ABI’s .so in most cases which is usually the only place where any given symbol is defined.
You could technically provoke a symbol conflict using LD_PRELOAD and the like but it’s not something you commonly run into because package upgrades always replace the previous version entirely.
You could technically have multiple conflicting
so
s on classical distros too by prefixing a more detailed version but you don’t; doing such things kinda what differentiates Nix from classical package management.This QT issue in particular was an impurity (working outside of Nix’ pure model; not as intended) caused by “installing” qt libraries into your environment imperatively (which isn’t something you should do anyways) that was solved a couple years ago.
I switched context there quite a but. That part was directed at the underlying tone of the thread that implies that “other distros do not have these kind of conflict”. Should have put that in a separate reply to make it clearer. Please excuse the confusion 🙂