Re: FFmpeg-8.0 Warning

"Bruce Dubbs" ([email protected] via blfs-dev Mailing List) <[email protected]>
Newsgroups gmane.linux.lfs.beyond.devel
Message-ID <[email protected]>
On 9/23/25 6:31 PM, Bruce Dubbs wrote:
> On 9/23/25 6:22 PM, "Douglas R. Reno" ([email protected] via blfs-dev 
> Mailing List) wrote:
>> On 9/23/25 6:16 PM, Bruce Dubbs ([email protected] via blfs-dev Mailing List) 
>> wrote:
>>> On 9/23/25 5:58 PM, Joe Locash ([email protected] via blfs-dev Mailing List) wrote:
>>>> On 9/23/25 6:40 PM, Bruce Dubbs ([email protected] via blfs-dev Mailing List) 
>>>> wrote:
>>>>> On 9/23/25 5:16 PM, Joe Locash ([email protected] via blfs-dev Mailing List) wrote:
>>>>>> On 9/23/25 1:45 PM, Rahul Chandra ([email protected] via blfs-dev 
>>>>>> Mailing List) wrote:
>>>>>>> We can actually do more then just that. Because Firefox only links to ffmpeg 
>>>>>>> at runtime, you can actually keep both 8.0 and 7.1.1 installed (what I've been 
>>>>>>> doing for the last week). You essentially just have to keep all the .so files 
>>>>>>> except the ones that should link to the latest version (i.e ending in just .so 
>>>>>>> and not .so.58). I've been doing this for the last week and firefox works 
>>>>>>> great for me and packages are still linking to ffmpeg 8.0 at build time. 
>>>>>>> Something similar to this: https://gitlab.archlinux.org/archlinux/packaging/ 
>>>>>>> packages/ ffmpeg4.4 
>>>>>>
>>>>>> I would say this is the best approach. Firefox-140 only needs the ffmpeg-7.1 
>>>>>> libs and that's easy to do. Do a normal build of ffmpeg-7 but only install the 
>>>>>> libs
>>>>>> :
>>>>>>
>>>>>>    make DESTDIR=dest install
>>>>>> as root:
>>>>>>    for lib in dest/usr/lib/*; do
>>>>>>      if [[ $lib == *.so ]]; then
>>>>>>        ln -srf -- dest/usr/lib/"$(readlink "$lib")" "$lib"
>>>>>>      elif [[ ! -d $lib ]]; then
>>>>>>        mv "$lib" /usr/lib
>>>>>>      fi
>>>>>>    done
>>>>>
>>>>> I'm not sure if I got this right, but I installed ffmpeg8 as a DESTDIR=/opt/ 
>>>>> ffmpeg8/
>>>>>
>>>>> Then I created a script:
>>>>>
>>>>> $ cat firefox-ffmpeg8
>>>>> #! /usr/bin/bash
>>>>>
>>>>> export LD_LIBRARY_PATH=/opt/ffmpeg8/usr/lib/
>>>>> firefox
>>>>>
>>>>>
>>>>> And ran a random youtube video.  It seemed to play fine, but I'm not sure if it 
>>>>> picked up the right libraries.
>>>>>
>>>>> Is there a way to see what libraries are being used?
>>>>
>>>> I'm not sure. If you have ffmpeg-7 installed you will not see an issue.
>>>
>>> I do have ffmpeg7 installed, but I think the LD_LIBRARY_PATH tells it where to 
>>> look first.   Google says:
>>>
>>> Functionality:
>>> When an application starts, the dynamic linker checks LD_LIBRARY_PATH for a colon- 
>>> separated list of directories to search before looking in the standard system 
>>> library paths (like /lib, /usr/lib, /usr/local/lib).
>>>
>>> Which was my current understanding.
>>>
>>> In the case of firefox, I can't tell for sure which version of, say, libavcodec.so 
>>> it is using.  I have two:
>>>
>>> $ ll /usr/lib/libavcodec.so
>>> lrwxrwxrwx 1 root root 23 Aug 21 18:02 /usr/lib/libavcodec.so -> 
>>> libavcodec.so.61.19.101
>>>
>>> $ ll /opt/ffmpeg8/usr/lib/libavcodec.so
>>> lrwxrwxrwx 1 root root 23 Sep 23 13:36 /opt/ffmpeg8/usr/lib/libavcodec.so -> 
>>> libavcodec.so.62.11.100
>>
>> I think you might be able to use 'lsof' to see which files are in use, which might 
>> help identify which versions of the libraries got loaded. I'm not sure of the exact 
>> syntax though off the to of my head.
> 
> Good call.  I have
> 
> RDD\x20Pr 6810                    bdubbs  mem       REG             259,14   1129400
> 714560 /usr/lib/libavutil.so.59.39.100
> 
> RDD\x20Pr 6810                    bdubbs  mem       REG             259,14  15903744 
>   714548 /usr/lib/libavcodec.so.61.19.101
> 
> So it is loading ffmpeg7.  Upon reconsideration, a library libxxx.so is normally only 
> used at link time.  Trying to use LD_LIBRARY_PATH won't work in this circumstance 
> will not work.

After some testing and discussion I have decided to revert to ffmpeg-7.1.1 for now. 
I put the ticket into the 'Waiting' milestone and will revisit it when dependent 
packages can use it.  This is similar to libpeas-2.0.0 and tcl/tk-9.0.0.

   -- Bruce

-- 
http://lists.linuxfromscratch.org/sympa/info/blfs-dev
Unsubscribe: See the above information page
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.