[gst-devel] one little annoying problem.
Rodney Dawes
dobey at free.fr
Thu Jul 4 10:05:02 CEST 2002
On Thu, 2002-07-04 at 12:29, Thomas Vander Stichele wrote:
> > Personally, I think this is nasty. IIUC, .so versioning is supposed to
> > solve this ? I know we can't guarantee ABI stability yet, but I thought
> > that versioning is the mechanism you use to help against that.
>
> It's not .so versioning, it's plugin versioning. It apparently isn't
> working. We should fix it.
If I get this right, in the future we will be versioning the core's .so
files, and we should use these numbers to compile these into the plug-ins
so that gst-register (which knows about these .so numbers) can only
register plug-ins which have this magic .so number compiled in.
Am I right in thinking that would solve it ?
The plug-ins should have the libtool version number compiled in, yes.
As for at this moment, since we don't .so version the core (and these days
I tend to side with taaz on this issue - we really don't do that much
releases anyway so it'll be a long time before the .so versions would hit
two digit numbers), and the reason is "because verything breaks on every
release", we might as well err on the safe side and make the plug-ins
require also the same GST_VERSION_MACRO number.
Any thoughts on this ?
The core is versioned currently. It is just versioned in a way so that
the soname doesn't inflate to some unbelievably high number. Ideally
it might be good to build both the gstreamer version, as well as the
libtool version information (O:O:O) into the plug-ins, and have gst
check both of them at plug-in loading time. IE, if the libtool version
information is O:O:O, check that the plug-in's version matches the
version of the core. If the libtool information is the same wrt abi
compatibility, and not O:O:O, then this should be sufficient to continue
loading the plug-in. If this check fails, then check the actual versions
of the plug-in and core libs to see if they match. This would make for a
much saner update, and would make life easier for packagers like me. :)
> The other thing you might want to think about would be not running
> -register after every plugin package. Given that user registries exist,
> and that if the registry is out of date -register will effectively be
> run automatically the next time you run a gst app, I see no need anymore
> for gst-register, in most cases.
Oh, right. Sounds perfect ! Should try it.
Thanks,
Thomas
-- dobey
More information about the gstreamer-devel
mailing list