[FFmpeg-devel] Symbol versioning failure on Android

Martin Storsjö martin
Mon Dec 6 23:33:13 CET 2010


If building shared libraries on Android, there seems to be a problem with 
symbol versioning. The fallback symbols in the previous library, defined 
e.g. in libavcodec/opt.c should call the new ones in libavutil/opt.c. In 
practice, they just call themselves, looping infinitely.

Does anyone have better insight into the symbol versioning stuff, that 
could point out what could be going wrong? Which part does the mapping of 
the call to e.g. av_opt_set_defaults2 to either of the versioned symbols 
in libavcodec.so and/or libavutil.so - is this up to the runtime dynamic 
linker? According to nm -D, both of them have a defined symbol named 
"av_opt_set_defaults2", likewise on normal desktop linux, too.

Should we add a configure option for disabling the symbol versioning?

// Martin

More information about the ffmpeg-devel mailing list