> I'm under the impression that any shared library *must* have
> a SONAME.

Yes, but "SONAME" just means the name of the .so file.  Policy uses
this term incorrectly to refer to the extension of the soname.
Saying that a shared library must have a SONAME is then equivalent
to saying that it must have a filename by which it is known.

> If true, what is the procedure for packaging, say Inventor, that
> builds two shared libs without a SONAME?  

Assuming you mean it doesn't have an extension with an ABI version code,
you can just package it as it is, with the knowledge that future updates
to the ABI may break compatibility.  You should bug upstream about this.

> If, for the sake of argument, upstream is unwilling to commit to
> a version number, should one just make it up?

No.  Any precompiled third-party apps will need to use the official SONAME,
and if you append .0 to the upstream SONAME then third-party apps will
break because they won't be able to locate the shared library.

Eric

Reply via email to