[FFmpeg-user] Compiling independent ffmpeg

Matthew Webber quickhare at hotmail.com
Sun Jan 12 22:21:53 EET 2020


Thanks for this. I definitely did uninstall liblensfun-dev and not
liblensfun. It may be that one is dependent on another, but that is
definitely what I uninstalled through sudo apt-get remove liblensfun-dev.

Other packages I installed during compilation were subsequently
uninstalled without issue. Therefore I see it as an ffmpeg compilation,
otherwise I'd see every other feature I uninstalled failing. I noticed
the make and make install steps created and copied the other dependencies.

I don't mind dynamic linking, but I assumed the compilation step of
ffmpeg also compiled any dependent libraries it used. Obviously this is
not clear in guides and instructions that you'd need to leave all the
dev packages you use after compilation.

Matthew Webber
(QuickHare at Hotmail.com)

On 12/01/2020 20:07, Carl Eugen Hoyos wrote:
> Am So., 12. Jan. 2020 um 19:38 Uhr schrieb Matthew Webber
> <quickhare at hotmail.com>:
>> I compiled ffmpeg on Ubuntu 18.04 perfectly fine. I installed a whole
>> load of dev packages and compiled with lots of options, and all went
>> smoothly.
>> However when I removed the packages liblensfun-dev, libmodplug-dev,
>> libcodec2-dev and libfdk-aac-dev ffmpeg failed to work. Looking deeper
>> it is now missing liblensfun.so.1, libmodplug.so.1, libcodec2.so.0.7 and
>> libfdk-aac.so.1.
> So you did not uninstall liblensfun-dev but liblensfun
>> Re-installing those packages makes those components
>> available and the program runs again.
>> Does the compilation not create these files or embed them into ffmpeg?
> No (at least not in general), and this question is not related to FFmpeg.
> Once upon a time, no dynamic libraries existed, meaning that every binary
> on a system contained copies of all linked libraries. As this wastes a lot of
> space, dynamic linking was invented (decades ago).
> Typical compilers default to dynamic linking.
>> Are there any options I need to ensure these are created so I no longer
>> need these packages? I want to have program files that will work without
>> any of the other packages installed.
> You can add "--extra-ldflags=-static" to force static linking but your
> distribution most likely will not provide a static lensfun library, so you
> will have to compile all dependencies that you want yourself to
> provide the necessary static libraries.
> But as said, all this is not related to FFmpeg.
> Carl Eugen
> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-user
> To unsubscribe, visit link above, or email
> ffmpeg-user-request at ffmpeg.org with subject "unsubscribe".

More information about the ffmpeg-user mailing list