| 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