Remix.run Logo
qcnguy 19 hours ago

It's really just not. GTK is on its fourth major version. Wayland broke backwards compatibility with tons of apps.

prmoustache 11 hours ago | parent | next [-]

Multiple versions of GTK or QT can coexist on the same system. GTK2 is still packaged on most distros, I think for example GIMP only switched to GTK3 last year or so.

dadoum 16 hours ago | parent | prev | next [-]

GTK update schedule is very slow, and you can run multiple major versions of GTK on the same computer, it's not the right argument. When people says GTK backwards compatibility is bad, they are referring in particular to its breaking changes between minor versions. It was common for themes and apps to break (or work differently) between minor versions of GTK+ 3, as deprecations were sometimes accompanied with the breaking of the deprecated code. (anyway, before Wayland support became important people stuck to GTK+ 2 which was simple, stable, and still supported at the time; and everyone had it installed on their computer alongside GTK+ 3).

Breaking between major versions is annoying (2 to 3, 3 to 4), but for the most part it's renaming work and some slight API modifications, reminiscent of the Python 2 to 3 switch, and it only happened twice since 2000.

JoshTriplett 16 hours ago | parent | prev [-]

The difference is that you can statically link GTK+, and it'll work. You can't statically link glibc, if you want to be able to resolve hostnames or users, because of NSS modules.

viraptor 14 hours ago | parent [-]

Static linking itself doesn't prevent modules. There's https://github.com/pikhq/musl-nscd for example

JoshTriplett 13 hours ago | parent [-]

Not inherently, but static linking to glibc will not get you there without substantial additional effort, and static linking to a non-glibc C library will by default get you an absence of NSS.