Closed LigH-de closed 1 year ago
I have the same issue when updating MABS
17:04:34 ┌ glslang git ................................. [Updates found]
17:04:35 ├ Running uninstall...
17:04:35 ├ Running dependencies...
17:04:53 ├ Running cmake...
17:05:02 ├ Running build...
Likely error (tail of the failed operation logfile):
933 | uniqueId &= uniqueIdMask;
| ^~~~
| uniqueId
C:/MinGW-w64/build/glslang-git/glslang/MachineIndependent/SymbolTable.h:934:22: error: 'level' was not declared in this scope
934 | uniqueId |= (level << LevelFlagBitOffset);
| ^~~~~
C:/MinGW-w64/build/glslang-git/glslang/MachineIndependent/SymbolTable.h:934:31: error: 'LevelFlagBitOffset' was not declared in this scope
934 | uniqueId |= (level << LevelFlagBitOffset);
| ^~~~~~
ninja: build stopped: subcommand failed.
build failed. Check C:/MinGW-w64/build/glslang-git/build-64bit/ab-suite.build.log
This is required for other packages, so this script will exit.
17:11:14 Creating diagnostics file...
Attach C:\MinGW-w64\build\logs.zip to the GitHub issue. Make sure the suite is up-to-date before reporting an issue. It might've been fixed already.
Try running the build again at a later time.
We may have to wait until KhronosGroup commits an already prepared patch...
Or someone with experience, like @1480c1 maybe, might turn this PR into a patch.
Or someone with experience, like @1480c1 maybe, might turn this PR into a patch.
If so, it has to be done for shaderc too, since media-suite_compile.sh checks out another copy of glslang in shaderc's third_party directory tree. I've done so locally temporarily since I needed a new build done and didn't want to mess with downgrading the toolchain, but it would be much better if the Khronos folks would just commit at least the necessary one-liner (if not that whole PR).
I came to report that I'm experiencing this issue as well, same error as posted above so I won't repeat it.
me too :)
Tell it the KhronosGroup, they need to know it's getting urgent.
OK. Tried the pull request patch over at their site and when applied here it builds.
https://github.com/KhronosGroup/glslang/issues/3139#issuecomment-1546609608
Can you mention a line to manually add to our suite to retrieve that PR and patch it here locally? I guess a do_patch
would belong somewhere between lines 1980 and 2000 in build/media-suite_compile.sh?
Until this is fixed upstream you can add the usual *_extra.sh files to patch this on the fly.
~/mabs/build/glslang_extra.sh
:
_pre_ninja(){
sed -i 's!#include <cstdio>!#include <cstdint>\n#include <cstdio>!' ${REPO_DIR}/glslang/Include/Common.h
}
~/mabs/build/shaderc_extra.sh
_pre_ninja(){
sed -i 's!#include <cstdio>!#include <cstdint>\n#include <cstdio>!' ${REPO_DIR}/third_party/glslang/glslang/Include/Common.h
}
as a side note, we're anyway doomed with those latest builds, because libplacebo does now requires Vulkan 1.3 and FFmpeg is still restricting it to version 1.2 until a major revamp is made 👀
In media-suite_compile.sh
Add line
do_patch "https://patch-diff.githubusercontent.com/raw/KhronosGroup/glslang/pull/3144.patch" am
like this:
_check=(lib{glslang,OSDependent,HLSL,OGLCompiler,SPVRemapper}.a
libSPIRV{,-Tools{,-opt,-link,-reduce}}.a glslang/SPIRV/GlslangToSpv.h)
if { { [[ $mpv != n ]] && ! mpv_disabled libplacebo; } ||
{ [[ $ffmpeg != no ]] && enabled_any libplacebo libglslang; } } &&
# 2023.05.13 https://patch-diff.githubusercontent.com/raw/KhronosGroup/glslang/pull/3144.patch
do_vcs "$SOURCE_REPO_GLSLANG"; then
do_uninstall "${_check[@]}"
log dependencies /usr/bin/python ./update_glslang_sources.py
do_patch "https://patch-diff.githubusercontent.com/raw/KhronosGroup/glslang/pull/3144.patch" am
do_cmakeinstall -DUNIX=OFF
do_checkIfExist
fi
The build doesn't appear to abort, even with the vulkan issue.
Well, glslang builds, but shaderc needs a similar one, executed in build/shaderc-git/third_party/glslang.
I will test this:
do_uninstall "${_check[@]}" include/shaderc include/libshaderc_util
cd third_party
do_vcs_local "$SOURCE_REPO_GLSLANG" glslang
+ cd glslang
+ do_patch "https://patch-diff.githubusercontent.com/raw/KhronosGroup/glslang/pull/3144.patch" am
+ cd ..
do_vcs_local "$SOURCE_REPO_SPIRV_TOOLS" spirv-tools
do_vcs_local "$SOURCE_REPO_SPIRV_HEADERS" spirv-headers
do_vcs_local "$SOURCE_REPO_SPIRV_CROSS" spirv-cross
_
PS: shaderc has built this way. And ffmpeg, eventually, too.
Fixed upstream.
Probably forgot to include cstdint.
logs.zip
tail from ab-suite.build.log