From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 467F243759 for ; Wed, 27 Jul 2022 20:00:12 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 09E8B68B906; Wed, 27 Jul 2022 23:00:10 +0300 (EEST) Received: from btbn.de (btbn.de [136.243.74.85]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 712C568B8AF for ; Wed, 27 Jul 2022 23:00:03 +0300 (EEST) Received: from [authenticated] by btbn.de (Postfix) with ESMTPSA id 264262F4DAC for ; Wed, 27 Jul 2022 22:00:02 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rothenpieler.org; s=mail; t=1658952002; bh=3mbo0GU5vAN8i7Kons/pqHap8bmOCRSmB5MSVwRjS1A=; h=Date:Subject:To:References:From:In-Reply-To; b=K9BCWYhHzmXfWtlcfR2YFk37ZtF2HeSnlhUWxwIWryjMMd/Dlj1A0Zh6zVGEqxSOa PpHB2DMsff8pLsvR1gKYHeY3zznB4kE28hu1Qvq69oO5vfgAkIaEwLHGbZxpfgK0PI kQenLS33Irp2Fu0JujSrHlqpRA7D7V5KYaq6bhl/p/2agWpREaWwtNe0EoSZTvHeTQ 3bcrAOE8e68CPFlsn6PIte0nffxAdEGH0IyNnsVbLFxloBegFeZuaSvCqQ4/7TQP2S V36fPfv3gkyG1xnf2O5l6lIH5SHKNTpeNAUgoGKdCux1T03Y/Qat4g8pW3PitcvWpy 3kufusak0V0mA== Message-ID: <0c780c40-a97d-cdeb-8d68-4d9e30bf5e6f@rothenpieler.org> Date: Wed, 27 Jul 2022 22:00:01 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.0.3 Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <20220719175310.647621-1-emil.l.velikov@gmail.com> From: Timo Rothenpieler In-Reply-To: Subject: Re: [FFmpeg-devel] [PATCH v2 0/3] hwcontext_vaapi: dlopen libva-x11 and libva-drm X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: On 27/07/2022 21:51, Emil Velikov wrote: > On Thu, 21 Jul 2022 at 21:47, Mark Thompson wrote: >> >> On 20/07/2022 17:41, Emil Velikov wrote: >>> On Tue, 19 Jul 2022 at 19:16, Nicolas George wrote: >>>> >>>> Emil Velikov (12022-07-19): >>>>> As you may know the libva* set of libraries share an internal ABI >>>>> between them. In a resent libva commit, the va_fool API was removed. >>>>> >>>>> Thus if one is to mix different versions of libva.so and libva-x11.so >>>>> they will get an error, leading to a crash of the whole stack. >>>>> >>>>> The simple solution is >>>> >>>> ... a configure check. >>>> >>>> If the person who installs replaces a library with another, it is their >>>> responsibility to check they are compatible. >>>> >>> >>> While I wholeheartedly agree, it's not so easy to enforce compile time >>> decisions at runtime. In the past, I have debugged and reported issues >>> where Linux distributions do not enforce the above. >>> >>> We do have the typical Linux distribution model (where we have dozens >>> upon distros) and other distribution models. IMHO checking each >>> instance and combination doesn't scale. We could bring awareness to >>> the issue in say distribution/workflow X, which sadly may come as >>> finger-pointing and thus alienating. >>> >>> Hope that makes sense and the team is willing to consider the extra 90 >>> lines worth of code. >> >> The argument "libfoo can be broken in some particular configuration, so lets use dlopen() to make errors happen later" seems like it applies to every library. Why is this case so special? Who are the users running into this specific problem and who are stuck with broken versions they can't update? >> > It's a long story, hope I don't bore you to death :-P > > Even though I've been itching to hack on ffmpeg for a while, the bug > that allowed me to do that is > https://github.com/ValveSoftware/steam-for-linux/issues/8673 > > As a background, steam as well as some of the programs/games shipped > use libraries provided by ffmpeg. In addition, steam ships with a > steam runtime, which is effectively a partial chroot of an old Ubuntu. > For various compatibility reasons, one cannot simply update it, so the > startup scripting will try and promote a set of the host libraries (if > newer) so that they're used instead of the bundled Ubuntu ones. That sounds incredibly broken and will of course cause stuff to break. I see the issue lies with that magic script, not with ffmpeg. You could make that exact argument for literally every single external library, and we don't dlopen() most of them. _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".