Re: kdev-python in KDevelop 5.6.0
Francis Herne <[email protected]> Wed, 07 Oct 2020 18:02:47 +0100
| Newsgroups | gmane.comp.kde.devel.kdevelop |
|---|---|
| Message-ID | <4727109.3MsxUlN34N@cleator> |
On Wednesday, 7 October 2020 17:50:54 BST Sven Brauch wrote: > Hi, > > On 2020-10-06 12:34, Francis Herne wrote: > > Someone pointed me athttps://appimage-builder.readthedocs.io/en/latest/ > > index.html , which removes the need for building on ancient distro > > releases > > altogether > > I doubt that. There is a very real effect of building on the old distro: > you build against an old glibc binary interface, which depends on an old > kernel binary interface. glibc is guaranteed backwards compatible, but > not forward compatible. > > * You obviously cannot ship the kernel with the AppImage. > * For this reason, you cannot ship glibc either, because a new glibc > might use interfaces of the kernel that don't exist yet on the > user's older machine. > * Thus, all your userspace libraries must not use any of the new glibc > functionality. The only way to guarantee that I know of is to build > against the old interface. > > This problem isn't going away without a lot of effort from a lot of > parties, I think. It isn't solvable by just shipping the right set of > libraries, you actually need builds of the libraries that fulfill this > condition. > > Greetings! Hi Sven, I spoke with one of the AppImage developers responsible for this, it's definitely a thing. ;-) glibc has very conservative kernel dependencies (the current version requires 3.2, which is years older than any still-maintained distro), so that isn't a problem. More of an issue with shipping glibc in an AppImage is that it would break on *newer* distros, since some system libs do have to be dynamically linked-in and those might use symbols not yet available in the bundled libc. This is why most AppImages currently avoid including libc. The appimage-builder tool packages a linking helper that determines at runtime which glibc version is newer, the system's or the bundled one, and uses that. I believe this also applies to a few other core libraries. Anyway, I don't plan to use it just now, so this is a bit of a tangent. :p -Francis
signature.asc
(application/pgp-signature, 488 B)
-----BEGIN PGP SIGNATURE----- iQEzBAABCAAdFiEE3FEw+ttooIG9a6zzN3lLnJrL4WMFAl999LcACgkQN3lLnJrL 4WMwXQgApbh7wsJql0SeayVGkgKNuvxyUcan1tEu43f4mchaO2Y7Kspi8Yng/egc 81meFtxQf08Oc/W25S7/IEnQN2xPHghF8LBOnElXh/hooCYzCeYhDjMHcJrwxsfk IbWeVzeIOB6whROp8I4BxM9tqujYG8kbFlWCntjwrYjYAweCJTVEE9V1bo9CfXny /HjkuEeV8k39x6xw9IKaptaErtzwLrARqIbAEgZE819fgKr3tuklQnvZWCsZ3C0p 29ypTYJ7vTjoZi5fKBiWuxsqYKGiJK2UW9Yybx1OwUj4B3PAEkz1cYQIkUsDt/RW MTaWOmAMpVnaQQ7QD9hJP/F1RlqvEw== =ISC0 -----END PGP SIGNATURE-----