[opensuse-packaging] libffmpeg-api
Project home:jnweiger has a libffmpeg-api that is supposed to allow linking against ffmpeg without having a real copy of it, so avoiding patent problems. But it doesn't works and doesn't seems mantained anymore. The package right now transform the Packman package to obtain a new package with all the headers and bogus libraries (from gcc -o empty.so --shared empty.c). So packages depending of it compile but fail at link. So, what else it needs? I don't know too much about the linker and ELF internals, I could use some help. An "objcopy -R .text <lib>" to libavcodec, libavdevice, etc. should remove all the codec code from them and from that point should not be problems in including it in the OBS, I'm wrong? Perhaps only libavcodec/format need it? I don't know if libavdevice has any codec/patented code. At this point it still doesn't works. First, a "nm -D" shows that doing this some symbols change from 'D' (initialized data section) to 'B' (BSS). Ok, makes sense... but that would mean a problem? I can't think of any. Something more confusing is a symbol (mm_flags from libavcodec) changing from 'B' to 'N' (debugging symbol)... I don't really understand why, but neither I know the effects. And then there is the problem of undefined symbols. libav* also depends of other libraries with codec code (libavcodec -> libx264). Best solution? a) 'objcopy -R .text' all the deps of ffmpeg. Simple, but "lot" of work. b) If I'm not wrong at link time the linker doesn't really needs them, or at least I don't know why it needs them. The final binary will be the same, true? So, there is some way to stop the linker from asking for it? Something like "--allow-shlib-undefined" that could be put in the .pc files? c) Something completly different. -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
participants (5)
-
Cristian Morales Vega
-
Cristian Rodríguez
-
Juergen Weigert
-
Ludwig Nussel
-
Michael Matz