| Newsgroups |
gmane.linux.lfs.beyond.devel |
| Message-ID |
<[email protected]> |
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.
-- Bruce
--
http://lists.linuxfromscratch.org/sympa/info/blfs-dev
Unsubscribe: See the above information page