[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