MythTV 33 and 34 will no longer build on updated Fedora 39 due to glslang
mymatenige opened this issue · 4 comments
Is your feature request related to a problem? Please describe.
Fedora have recently updated version 39 to include glslang 14, rather than glslang 11.9. As a result MythTV will no longer build. I've tried both version 33 and 34.
ERROR: libglslang not found
If you think configure made a mistake, make sure that you are using the latest
version of MythTV from git. If the latest version fails, report the problem to the
mythtv-dev@mythtv.org mailing list or IRC #mythtv on irc.libera.chat
Include the log file "config.ep" produced by configure as this will help
solve the problem.
Describe the solution you'd like
If possible, please look at making MythTV compatible with glslang 14.
Describe alternatives you've considered
This can be resolved in the short term by downgrading glslang.
The problem also occurs on today's master.
The error can be reproduced as follows:
klaas@kasus:~/mythtv-master/mythtv/mythtv$ ./configure --enable-libglslang --enable-vulkan
ERROR: libglslang (or dependent) library not found
On master it is fixed by installing the library:
sudo dnf install glslang-devel
This does however not solve it for fixes/34.
It is solved for fixes/34 after copying the code fragment that checks the presence of libglslang from configure in master to configure in fixes/34 .
klaas@kasus:~/m34-fixes/mythtv/mythtv$ git diff
diff --git a/mythtv/configure b/mythtv/configure
index 70fa981e3a..e49658c7c2 100755
--- a/mythtv/configure
+++ b/mythtv/configure
@@ -6134,7 +6134,18 @@ case $ID in
esac
esac
-enabled vulkan && enabled libglslang && require_cpp libglslang glslang/SPIRV/GlslangToSpv.h "glslang::TIntermediate*" -lglslang ${EXTRA_GLSLANG_LIBS:-} -lOSDependent -lHLSL -lOGLCompiler -lSPVRemapper -lSPIRV -lSPIRV-Tools-opt -lSPIRV-Tools -lpthread
+# KdW try check from v35
+# enabled vulkan && enabled libglslang && require_cpp libglslang glslang/SPIRV/GlslangToSpv.h "glslang::TIntermediate*" -lglslang ${EXTRA_GLSLANG_LIBS:-} -lOSDependent -lHLSL -lOGLCompiler -lSPVRemapper -lSPIRV -lSPIRV-Tools-opt -lSPIRV-Tools -lpthread
+if enabled vulkan && enabled libglslang ; then
+ # Debian sid no longer ships the OSDependent and HLSL libraries,
+ # but vulkan support on that platform compiles fine without them.
+ # Test to see if these libraries are present, and if not, test
+ # again to see if the compile works without them.
+ GLSLANG_LIBS="${EXTRA_GLSLANG_LIBS:-} -lOSDependent -lSPVRemapper -lSPIRV -lSPIRV-Tools-opt -lSPIRV-Tools -lpthread"
+ check_lib_cpp glslang/SPIRV/GlslangToSpv.h "glslang::TIntermediate*" -lglslang ${GLSLANG_LIBS} -lHLSL -lOGLCompiler \
+ || check_lib_cpp glslang/SPIRV/GlslangToSpv.h "glslang::TIntermediate*" -lglslang ${GLSLANG_LIBS} \
+ || die "ERROR: libglslang (or dependent) library not found"
+fi
# Qt private headers are required for wayland extras and some DRM functionality on linux
if enabled qtprivateheaders ; then
With this fix applied it is possible to do the configure and the make without errors.
This has worked for me on fixes/33 and fixes/34. Many thanks.