The package liblensfun1 is a dependency of liblensfun-dev. Maybe you used aptitude or used apt-get autoremove at a later time to remove any orphaned package? If it got installed as a dependency of liblensfun-dev, it will no longer be a dependency of any package after you uninstalled that. The library liblensfun1.so.1 that you were missing is part of the liblensfun1 package, not the -dev package. The same applies to the other ones. It's safe to remove the -dev packages, but you will have to ensure that the corresponding runtime packages are installed, and they are easily lost if you don't explicitly install them or mark them as a dependency of something else.
On Sun, Jan 12, 2020 at 9:22 PM Matthew Webber <[email protected]> wrote: > Carl, > > 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 > ([email protected]) > > On 12/01/2020 20:07, Carl Eugen Hoyos wrote: > > Am So., 12. Jan. 2020 um 19:38 Uhr schrieb Matthew Webber > > <[email protected]>: > > > >> 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 > > [email protected] > > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > > > To unsubscribe, visit link above, or email > > [email protected] with subject "unsubscribe". > > _______________________________________________ > ffmpeg-user mailing list > [email protected] > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > [email protected] with subject "unsubscribe". _______________________________________________ ffmpeg-user mailing list [email protected] https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email [email protected] with subject "unsubscribe".
