On Mon, Mar 20, 2023 at 07:49:43AM +0100, zyx wrote: > looking into my /usr/lib64/ there are three types of library versioning > here: > > a) no version at all (it's odd, but I really have there some such), > thus there's only a plain .so file
These are either broken, or they are the unversioned links used during development/building to find the "most recent" library version, and is not used by built programs for dynamic linking. > b) one-number version - there's only a plain .so.X file > c) two-numbers version - there's a .so.X symlink to a .so.X.Y > d) three-numbers version - there's a .so.X symlink to a .so.X.Y.Z These are all good. There are many reasons to support multiple versions like that, although personally I consider them relics of the past, and confusion-inducing practices. IIRC, that's standard libtool behaviour, so it got cargo-culted by all libtool-using projects. Potentially, if you use more than one number (especially the 2-number variant) you can use that to identify versions that added symbols without removing something else, therefore the ABI was "increased" without breaking. But OTOH that just doesn't really work decently from a program perspective... Sticking with 1 and only 1 number in the SONAME (without links) is really what I recommend these days. > I know there is a document describing why to use the three-numbers > version, together with a description how to work with it and what each > number means. I do not have the link handy, I even do not recall where > it was, probably semver.org ? > I think maybe with libtool or autotools or something like that, > but as I do not recall precisely, it could be anywhere else. The thing > is that I believe it was something official, not a blog of an > enthusiast, thus something one can use as "a source of truth". Mh.. > My question is: why do you want to change it? What is that going to > fix? Is that just a personal reason? As he mentioned, it's a real pain for packagers, and probably also for other users, as it forces all dynamically-linked programs to be rebuilt for every PoDoFo version, even where there is otherwise no ABI change. I understand that for many (young?) people nowadays dynamic linking feels weird, used as they are with golang or rust that has no/shitty dynamic link support, but I honestly consider proper dynamic linking a very good thing myself, that should be properly handled and supported. -- regards, Mattia Rizzolo GPG Key: 66AE 2B4A FCCF 3F52 DA18 4D18 4B04 3FCD B944 4540 .''`. More about me: https://mapreri.org : :' : Launchpad user: https://launchpad.net/~mapreri `. `'` Debian QA page: https://qa.debian.org/developer.php?login=mattia `-
signature.asc
Description: PGP signature
_______________________________________________ Podofo-users mailing list Podofo-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/podofo-users