[FFmpeg-devel] Symbol versioning failure on Android
Wed Dec 8 22:07:19 CET 2010
On Wed, 8 Dec 2010, Reimar D?ffinger wrote:
> On Wed, Dec 08, 2010 at 10:07:46PM +0200, Martin Storsj? wrote:
> > On Wed, 8 Dec 2010, Reimar D?ffinger wrote:
> > > But I do think that if in any way possible configure should
> > > check for the actual feature, not use some hacks based on the path/name
> > > of the linker or the target system that have no direct relation at all,
> > > this almost always means just delaying the proper solution.
> > It's not possible to check for the actual feature when cross compiling -
> > the feature is fully available in the toolchain (which is quite close to a
> > normal linux toolchain), it's just the runtime dynamic linker that doesn't
> > handle these cases properly.
> > The third option actually is the closest one to checking for this feature,
> > where we check for the linker name /system/bin/linker, which is the
> > runtime linker that doesn't support versioning.
> The problem is: what are you going to do when they fix it?
That issue is present in all the other approaches, too, unless we start
using something like --target-os=linux-android2 for targeting newer
platforms where it would be supported. (I doubt it ever will, though,
symbol versioning doesn't make much sense in the setup where android is
The even more straightforward solution would be to add an option
--disable-symver - then it's totally up to the user if he wants it or not.
The problem then, of course, is for the user to figure out that he
actually needs this (it isn't totally obvious what's wrong when the
application hangs when calling a symbol with multiple versions, where the
fallback calls itself).
More information about the ffmpeg-devel