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 8F040489BB for ; Mon, 22 Jan 2024 17:58:24 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 9874F68CFC8; Mon, 22 Jan 2024 19:58:21 +0200 (EET) Received: from w4.tutanota.de (w4.tutanota.de [81.3.6.165]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 873BD68CD6D for ; Mon, 22 Jan 2024 19:58:15 +0200 (EET) Received: from tutadb.w10.tutanota.de (unknown [192.168.1.10]) by w4.tutanota.de (Postfix) with ESMTP id F2E4E106030B for ; Mon, 22 Jan 2024 17:58:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1705946294; s=s1; d=lynne.ee; h=From:From:To:To:Subject:Subject:Content-Description:Content-ID:Content-Type:Content-Type:Content-Transfer-Encoding:Content-Transfer-Encoding:Cc:Date:Date:In-Reply-To:In-Reply-To:MIME-Version:MIME-Version:Message-ID:Message-ID:Reply-To:References:References:Sender; bh=br9Zr3j48wWstXTY8RSFPKPsPvKXwG3UUCM84cMaBmk=; b=hb1USA0euM82MBUD4Uux81sYWpORhtN4N2BvbzxqKMDipQ85RtEUATrPmx2TjJrT fw1hfCSRnB1xwcwZCdW8L61IuTWbWfZdgEFuPnphgfC0TTX96W7T23SKqJv5+rQxLza qe289crYqPmDQwchtgYgNKT4zoObpmfgPB87znKc4ecg6jxhGEDfsUuogGnZFCujOZk AZjxeyavPZ0WUHqYT5rEdizVqWCN8DoaZ3bWaEIdJzwW0SO2aISGDxU5RLFEGiE9Ed4 iqiDRSl8lTrlGiAE9k/VUipcMw+0Vd7aODQMQVywR7Nb00EKVD5AFCn44Zt8DlNzp9E Owml6p5mYQ== Date: Mon, 22 Jan 2024 18:58:14 +0100 (CET) From: Lynne To: Matthew White via ffmpeg-devel Message-ID: In-Reply-To: <20240122075000.1137a42c@pineapple> References: <20240122075000.1137a42c@pineapple> MIME-Version: 1.0 Subject: Re: [FFmpeg-devel] [PATCH] configure: autodetect libglslang ldflags 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-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: Jan 22, 2024, 07:52 by ffmpeg-devel@ffmpeg.org: > Since glslang 14.0.0, OGLCompiler and HLSL stub libraries have been > fully removed from the build. > > This fixes the configuration by detecting if the stub libraries are > still present (glslang releases before version 14.0.0). > > ffbuild/config.log: > /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lOSDependent: No such file or directory > /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lHLSL: No such file or directory > /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lOGLCompiler: No such file or directory > > Addresses https://trac.ffmpeg.org/ticket/10713 > See https://bugs.gentoo.org/show_bug.cgi?id=918989 > Should fix https://ffmpeg.org/pipermail/ffmpeg-devel/2023-August/313666.html > > Signed-off-by: Matthew White > --- > configure | 23 +++++++++++++++++++++-- > 1 file changed, 21 insertions(+), 2 deletions(-) > > diff --git a/configure b/configure > index c8ae0a061d..abff488dc0 100755 > --- a/configure > +++ b/configure > @@ -2626,6 +2626,7 @@ CMDLINE_SET=" > ignore_tests > install > ld > + libglslang_ldflags > ln_s > logfile > malloc_prefix > @@ -6652,6 +6653,24 @@ if enabled_all libglslang libshaderc; then > die "ERROR: libshaderc and libglslang are mutually exclusive, if in doubt, disable libglslang" > fi > > +if enabled libglslang; then > + if [ -x "$(command -v glslang)" ]; then > + # https://github.com/KhronosGroup/glslang > + # commit 6be56e45e574b375d759b89dad35f780bbd4792f: Remove `OGLCompiler` and `HLSL` stub libraries from build > + # StandAlone/StandAlone.cpp: "SpirvGeneratorVersion:GLSLANG_VERSION_MAJOR.GLSLANG_VERSION_MINOR.GLSLANG_VERSION_PATCH GLSLANG_VERSION_FLAVOR" > + glslang_version="$(glslang -dumpversion)" > + glslang_major="${glslang_version%%.*}" > + glslang_major="${glslang_major#*:}" > + if test ${glslang_major} -le 13; then > + libglslang_ldflags=" -lOSDependent -lHLSL -lOGLCompiler" > + elif ! [[ ${glslang_major} =~ ^[0-9]+$ ]]; then > + die "ERROR: glslang's computed major version isn't a number: '${glslang_major}'" > + fi > + else > + die "ERROR: glslang binary not found, impossible to determine installed glslang's version" > + fi > +fi > + > check_cpp_condition winrt windows.h "!WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)" > > if ! disabled w32threads && ! enabled pthreads; then > @@ -6771,10 +6790,10 @@ enabled libfreetype && require_pkg_config libfreetype freetype2 "ft2build. > enabled libfribidi && require_pkg_config libfribidi fribidi fribidi.h fribidi_version_info > enabled libharfbuzz && require_pkg_config libharfbuzz harfbuzz hb.h hb_buffer_create > enabled libglslang && { check_lib spirv_compiler glslang/Include/glslang_c_interface.h glslang_initialize_process \ > - -lglslang -lMachineIndependent -lOSDependent -lHLSL -lOGLCompiler -lGenericCodeGen \ > + -lglslang -lMachineIndependent "${libglslang_ldflags}" -lGenericCodeGen \ > -lSPVRemapper -lSPIRV -lSPIRV-Tools-opt -lSPIRV-Tools -lpthread -lstdc++ -lm || > require spirv_compiler glslang/Include/glslang_c_interface.h glslang_initialize_process \ > - -lglslang -lOSDependent -lHLSL -lOGLCompiler \ > + -lglslang "${libglslang_ldflags}" \ > -lSPVRemapper -lSPIRV -lSPIRV-Tools-opt -lSPIRV-Tools -lpthread -lstdc++ -lm; } > enabled libgme && { check_pkg_config libgme libgme gme/gme.h gme_new_emu || > require libgme gme/gme.h gme_new_emu -lgme -lstdc++; } > -- > 2.43.0 > This is very very cursed. Fitting for the public API of the world's fifth worst library. Debian is stuck on version 13, so the majority of users are still stuck on version 13. Debian ships a pkg-config file, but of course it's incorrect, if you try to compile against it. Oh, and libshaderc in Debian ships with a bug such that it segfaults on init, so it's not like you can avoid that. And that package's pkg-config file got broken in the past. I think this is fine for now. I'll let it be discussed for a few more days before merging it. _______________________________________________ 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".