[Ffmpeg-devel] [RFC] dlopen vs linking for external libraries

Roman Shaposhnick rvs
Tue Feb 27 02:24:20 CET 2007


On Mon, 2007-02-12 at 01:26 +0200, Uoti Urpala wrote:
> > > If the binary distros tried to make features optional and used dlopen()
> > > or created separate packages with enabled/disabled features the
> > > increased complexity would make it a net loss (yes they have considered
> > > that). 
> > 
> > our dlopen code doesnt look that complex ...
> 
> In addition to the extra complexity in the program code dlopen() makes
> the program more brittle and creates other problems for distros. 
  
  Would you, please, elaborate on what exactly these "other" problems
are ?

> It
> makes it impossible to verify correct dependencies from the binary
> directly (which is usually done in Debian) and makes it harder for other
> packages to depend on the program (if I need functionality X how do I
> express that when program Y might or might not support that depending on
> what else is installed? Depend on Y+exactly what?).

  That would be a limitation of your packaging infrastructure, nothing 
to do with dynamic linking or loading.

> >  id like to know who said that? you?
> > and why should we care what that person said compared to an actual technical
> > statement which could be verified ...
> 
> What I do claim is:
> 1. Moving possible package dependencies to dlopen() when they're not
> necessary for every user would be a net loss for binary distributions,
> with some (rare) exceptions for huge libraries.

  You seem to live in a twisted world where everything get distributed 
via *your* distribution channels only. For Debian that might very well
be the case, but that would make me question the usefulness of such
a distribution. 

> I gave some reasons above; if you want more detailed explanations then
> you should probably contact someone directly working on the distros.

  That's the trouble. I hate when distro vendors are treated as the
gatekeepers for making software available on Linux. As an ISV I have
no incentive to talk to "someone directly working on the distros"
I just want my software to work everywhere.


> >  which needs
> > near 0 maintaince time, just look how many changes the existing dlopen code
> > needed over time ...
> 
> If the dlopen() features do not interfere with other code then I have
> nothing against keeping the option to use them in FFmpeg. But that does
> not imply that distros should prefer them over dynamic linking.

  Well, if Linux (and all UNIXes in general) would like to ever be
considered as serious contenders for the Desktop crown -- they better
start caring about things like how to make software work across
distros and how to make it use each distro resources efficiently.

Thanks,
Roman. 





More information about the ffmpeg-devel mailing list