Closed barzai741 closed 6 months ago
Same problem with vulkan on Windows 11
Please try again with the latest suite, I think I have the patches finalized for now
this fix didn't work for me, I still get this error when I build despite already deleting that folder:
20:41:20 ┌ vulkan-loader git ........................ [Recently updated]
20:41:22 ├ Running uninstall...
0001-pc-remove-CMAKE_CXX_IMPLICIT_LINK_LIBRARIES.patch
Patch could not be applied with `git am`. Continuing without patching.
0004-loader-Add-private-libs-to-pc-file.patch
Patch could not be applied with `git am`. Continuing without patching.
0005-loader-Static-library-name-related-hacks.patch
Patch could not be applied with `git am`. Continuing without patching.
20:41:25 ├ Running dependencies...
20:41:36 ├ Installing Vulkan-Headers...
20:41:36 ├ Running uninstall...
20:41:36 ├ Running cmake...
20:41:38 ├ Running build...
20:41:38 ├ Running install...
20:41:40 ├ Building Vulkan-Loader...
20:41:40 ├ Running cmake...
20:41:45 ├ Running build...
20:41:54 ├ Running install...
20:41:54 ├ /local64/lib/libvulkan.a ........................ [Not found]
20:41:54 └ vulkan-loader-git .................................. [Failed]
Try deleting '/build/vulkan-loader-git' and start the script again.
If you are sure there are no dependencies, <Enter> to continue building.
Close this window if you wish to stop building.
Does your media-suite_compile.sh contain the changes from https://github.com/m-ab-s/media-autobuild_suite/commit/45bf068c7fca5abee77a4968f2244b9271db450c?
Same here, word by word, and I have the latest build with the above mentioned changes logs.zip
Does your media-suite_compile.sh contain the changes from 45bf068?
Yes, however the issue was fixed after deleting and reinstalling the build's msys
FYI, I had the same error, and the most recent commits fixed everything. Thank you for the updates. A special thank you for your very clever code Try deleting '$packageDir' and start the script again.
. And a general thank you for how awesome MABS is.
Hi, it didn't fix it for me. Would you be able to post your ffmpeg_options.txt and media-autobuild_suite.ini so I can try to diagnose ? Thanks !
I have --enable-vulkan
but it works because of the changed patches.
For unrelated reasons, I disabled all of the nvidia stuff because I don't have nvidia, but I don't have any reason to think that helped here.
OK, thank you. Mine still fails unless I use --disable-libplacebo. Here's my options. media-autobuild_suite.ini.txt ffmpeg_options.txt
--disable-libplacebo
I'm not a developer, but if you are having trouble with vulkan loader, wouldn't you expect enabling libplacebo to give you the same error?
In media-suite_compile.sh:
if { { [[ $ffmpeg != no ]] && enabled_any vulkan libplacebo; } ||
Because:
[libplacebo] is provided as a Vulkan-based video filter in the FFmpeg project.
After I deleted ./build/vulkan-loader-git
and updated mabs, everything was ok.
Thanks. Neither am I :)
I'll try it afresh, again. I'll use the options file above, with just one change: placebo enabled.
Last time I did that and left placebo and vulkan enabled, building died with the ffmpeg link-time errors show in https://github.com/m-ab-s/media-autobuild_suite/issues/2524#issuecomment-1752156851 (It was afresh in a clean window sandbox). Disabling libplacebo removed the ffmpeg link-time errors.
Just to be 100% clear, your success is with both vulkan and libplacebo explicitly enabled in the options file ?
Hi, no it isn't quite fixed after all.
I spun up a new empty Win11 sandbox, downloaded MABS afresh, used the aforementioned ffmpeg_options.txt etc with both vulkan and libplacebo, and received link errors (log extract below).
Cheers.
ccache g++ -D_FORTIFY_SOURCE=2 -fstack-protector-strong -mtune=generic -O2 -pipe -D__USE_MINGW_ANSI_STDIO=1 -static-libgcc -static-libstdc++ -IC:/MABS/local64/include -LC:/MABS/local64/lib -lfdk-aac -L/local64/lib -L/mingw64/lib -Wl,--nxcompat,--dynamicbase -Wl,--high-entropy-va -Wl,--as-needed -Wl,--pic-executable,-e,mainCRTStartup -Wl,--image-base,0x140000000 -IC:/MABS/local64/include/opus -LC:/MABS/local64/lib -o /tmp/ffconf.Z4HwuVjm/test.exe /tmp/ffconf.Z4HwuVjm/test.o -lopus -lm -liconv -lpsapi -lstdc++ -lstdc++
require_pkg_config libplacebo libplacebo >= 4.192.0 libplacebo/vulkan.h pl_vulkan_create
check_pkg_config libplacebo libplacebo >= 4.192.0 libplacebo/vulkan.h pl_vulkan_create
test_pkg_config libplacebo libplacebo >= 4.192.0 libplacebo/vulkan.h pl_vulkan_create
pkgconf --exists --print-errors libplacebo >= 4.192.0
check_func_headers libplacebo/vulkan.h pl_vulkan_create -IC:/MABS/local64/include -DPL_STATIC -IC:/MABS/local64/include/spirv_cross -IC:/MABS/msys64/mingw64/include -LC:/MABS/local64/lib -lplacebo -lm -lshlwapi -lglslang-default-resource-limits C:/MABS/local64/lib/../lib/libSPIRV.a C:/MABS/local64/lib/../lib/libMachineIndependent.a C:/MABS/local64/lib/../lib/libOSDependent.a C:/MABS/local64/lib/../lib/libOGLCompiler.a C:/MABS/local64/lib/../lib/libGenericCodeGen.a C:/MABS/local64/lib/../lib/libSPIRV-Tools.a C:/MABS/local64/lib/../lib/libSPIRV-Tools-opt.a -lversion -lspirv-cross -lvulkan -lcfgmgr32 -LC:/MABS/msys64/mingw64/lib -llcms2 -llcms2_fast_float -lm -pthread -ldovi -lkernel32 -ladvapi32 -lbcrypt -lkernel32 -lntdll -luserenv -lws2_32 -lkernel32 -lws2_32 -lkernel32
test_ld cc -IC:/MABS/local64/include -DPL_STATIC -IC:/MABS/local64/include/spirv_cross -IC:/MABS/msys64/mingw64/include -LC:/MABS/local64/lib -lplacebo -lm -lshlwapi -lglslang-default-resource-limits C:/MABS/local64/lib/../lib/libSPIRV.a C:/MABS/local64/lib/../lib/libMachineIndependent.a C:/MABS/local64/lib/../lib/libOSDependent.a C:/MABS/local64/lib/../lib/libOGLCompiler.a C:/MABS/local64/lib/../lib/libGenericCodeGen.a C:/MABS/local64/lib/../lib/libSPIRV-Tools.a C:/MABS/local64/lib/../lib/libSPIRV-Tools-opt.a -lversion -lspirv-cross -lvulkan -lcfgmgr32 -LC:/MABS/msys64/mingw64/lib -llcms2 -llcms2_fast_float -lm -pthread -ldovi -lkernel32 -ladvapi32 -lbcrypt -lkernel32 -lntdll -luserenv -lws2_32 -lkernel32 -lws2_32 -lkernel32
test_cc -IC:/MABS/local64/include -DPL_STATIC -IC:/MABS/local64/include/spirv_cross -IC:/MABS/msys64/mingw64/include -LC:/MABS/local64/lib C:/MABS/local64/lib/../lib/libSPIRV.a C:/MABS/local64/lib/../lib/libMachineIndependent.a C:/MABS/local64/lib/../lib/libOSDependent.a C:/MABS/local64/lib/../lib/libOGLCompiler.a C:/MABS/local64/lib/../lib/libGenericCodeGen.a C:/MABS/local64/lib/../lib/libSPIRV-Tools.a C:/MABS/local64/lib/../lib/libSPIRV-Tools-opt.a -LC:/MABS/msys64/mingw64/lib -pthread
BEGIN /tmp/ffconf.Z4HwuVjm/test.c
1 #include <libplacebo/vulkan.h>
2 #include <stdint.h>
3 long check_pl_vulkan_create(void) { return (long) pl_vulkan_create; }
4 int main(void) { int ret = 0;
5 ret |= ((intptr_t)check_pl_vulkan_create) & 0xFFFF;
6 return ret; }
END /tmp/ffconf.Z4HwuVjm/test.c
ccache gcc -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DWIN32_LEAN_AND_MEAN -U__STRICT_ANSI__ -D__USE_MINGW_ANSI_STDIO=1 -D__printf__=__gnu_printf__ -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -DPIC -D_FORTIFY_SOURCE=2 -fstack-protector-strong -mtune=generic -O2 -pipe -D__USE_MINGW_ANSI_STDIO=1 -mthreads -IC:/MABS/local64/include -Wno-int-conversion -DLIBTWOLAME_STATIC -DCACA_STATIC -DMODPLUG_STATIC -DCHROMAPRINT_NODLL -DZMQ_STATIC -DLIBXML_STATIC -DAL_LIBTYPE_STATIC -IC:/MABS/local64/include -IC:/MABS/local64/include/AL -std=c11 -fomit-frame-pointer -IC:/MABS/local64/include -pthread -IC:/MABS/msys64/mingw64/include -I/mingw64/include -IC:/MABS/local64/include -IC:/MABS/msys64/mingw64/include -IC:/MABS/local64/include -IC:/MABS/local64/include -IC:/MABS/local64/include/libpng16 -IC:/MABS/msys64/mingw64/include -IC:/MABS/local64/include -IC:/MABS/msys64/mingw64/include -IC:/MABS/local64/include/harfbuzz -IC:/MABS/local64/include/fribidi -DFRIBIDI_LIB_STATIC -IC:/MABS/local64/include/freetype2 -IC:/MABS/local64/include -IC:/MABS/local64/include/libxml2 -DLIBXML_STATIC -IC:/MABS/msys64/mingw64/include -IC:/MABS/local64/include/bs2b -IC:/MABS/msys64/mingw64/include -IC:/MABS/local64/include -IC:/MABS/local64/include -IC:/MABS/local64/include -IC:/MABS/local64/include/freetype2 -IC:/MABS/msys64/mingw64/include -IC:/MABS/local64/include/freetype2 -IC:/MABS/local64/include/fribidi -DFRIBIDI_LIB_STATIC -IC:/MABS/local64/include -IC:/MABS/local64/include -IC:/MABS/msys64/mingw64/include -DHWY_STATIC_DEFINE -DJXL_STATIC_DEFINE -IC:/MABS/local64/include -DJXL_THREADS_STATIC_DEFINE -IC:/MABS/local64/include -IC:/MABS/local64/include/mfx -IC:/MABS/msys64/mingw64/include -IC:/MABS/local64/include -IC:/MABS/msys64/mingw64/include/openjpeg-2.5 -DOPJ_STATIC -IC:/MABS/local64/include -IC:/MABS/local64/include/opus -IC:/MABS/local64/include/opus -IC:/MABS/local64/include -DPL_STATIC -IC:/MABS/local64/include/spirv_cross -IC:/MABS/msys64/mingw64/include -LC:/MABS/local64/lib C:/MABS/local64/lib/../lib/libSPIRV.a C:/MABS/local64/lib/../lib/libMachineIndependent.a C:/MABS/local64/lib/../lib/libOSDependent.a C:/MABS/local64/lib/../lib/libOGLCompiler.a C:/MABS/local64/lib/../lib/libGenericCodeGen.a C:/MABS/local64/lib/../lib/libSPIRV-Tools.a C:/MABS/local64/lib/../lib/libSPIRV-Tools-opt.a -LC:/MABS/msys64/mingw64/lib -pthread -c -o /tmp/ffconf.Z4HwuVjm/test.o /tmp/ffconf.Z4HwuVjm/test.c
C:/MABS/msys64/tmp/ffconf.Z4HwuVjm/test.c: In function 'check_pl_vulkan_create':
C:/MABS/msys64/tmp/ffconf.Z4HwuVjm/test.c:3:44: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
3 | long check_pl_vulkan_create(void) { return (long) pl_vulkan_create; }
| ^
gcc.exe: warning: C:/MABS/local64/lib/../lib/libSPIRV.a: linker input file unused because linking not done
gcc.exe: warning: C:/MABS/local64/lib/../lib/libMachineIndependent.a: linker input file unused because linking not done
gcc.exe: warning: C:/MABS/local64/lib/../lib/libOSDependent.a: linker input file unused because linking not done
gcc.exe: warning: C:/MABS/local64/lib/../lib/libOGLCompiler.a: linker input file unused because linking not done
gcc.exe: warning: C:/MABS/local64/lib/../lib/libGenericCodeGen.a: linker input file unused because linking not done
gcc.exe: warning: C:/MABS/local64/lib/../lib/libSPIRV-Tools.a: linker input file unused because linking not done
gcc.exe: warning: C:/MABS/local64/lib/../lib/libSPIRV-Tools-opt.a: linker input file unused because linking not done
ccache g++ -D_FORTIFY_SOURCE=2 -fstack-protector-strong -mtune=generic -O2 -pipe -D__USE_MINGW_ANSI_STDIO=1 -static-libgcc -static-libstdc++ -IC:/MABS/local64/include -LC:/MABS/local64/lib -lfdk-aac -L/local64/lib -L/mingw64/lib -Wl,--nxcompat,--dynamicbase -Wl,--high-entropy-va -Wl,--as-needed -Wl,--pic-executable,-e,mainCRTStartup -Wl,--image-base,0x140000000 -IC:/MABS/local64/include -DPL_STATIC -IC:/MABS/local64/include/spirv_cross -IC:/MABS/msys64/mingw64/include -LC:/MABS/local64/lib C:/MABS/local64/lib/../lib/libSPIRV.a C:/MABS/local64/lib/../lib/libMachineIndependent.a C:/MABS/local64/lib/../lib/libOSDependent.a C:/MABS/local64/lib/../lib/libOGLCompiler.a C:/MABS/local64/lib/../lib/libGenericCodeGen.a C:/MABS/local64/lib/../lib/libSPIRV-Tools.a C:/MABS/local64/lib/../lib/libSPIRV-Tools-opt.a -LC:/MABS/msys64/mingw64/lib -pthread -o /tmp/ffconf.Z4HwuVjm/test.exe /tmp/ffconf.Z4HwuVjm/test.o -lplacebo -lm -lshlwapi -lglslang-default-resource-limits -lversion -lspirv-cross -lvulkan -lcfgmgr32 -llcms2 -llcms2_fast_float -lm -ldovi -lkernel32 -ladvapi32 -lbcrypt -lkernel32 -lntdll -luserenv -lws2_32 -lkernel32 -lws2_32 -lkernel32 -liconv -lpsapi -lstdc++ -lstdc++
C:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/MABS/local64/lib/libplacebo.a(glsl_glslang.cc.obj):glslang.cc:(.text+0x41): undefined reference to `glslang::InitializeProcess()'
C:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/MABS/local64/lib/libplacebo.a(glsl_glslang.cc.obj):glslang.cc:(.text+0x81): undefined reference to `glslang::FinalizeProcess()'
C:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/MABS/local64/lib/libplacebo.a(glsl_glslang.cc.obj):glslang.cc:(.text+0x119): undefined reference to `glslang::TShader::TShader(EShLanguage)'
C:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/MABS/local64/lib/libplacebo.a(glsl_glslang.cc.obj):glslang.cc:(.text+0x158): undefined reference to `glslang::TShader::setStrings(char const* const*, int)'
C:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/MABS/local64/lib/libplacebo.a(glsl_glslang.cc.obj):glslang.cc:(.text+0x1df): undefined reference to `glslang::TShader::parse(TBuiltInResource const*, int, EProfile, bool, bool, EShMessages, glslang::TShader::Includer&)'
C:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/MABS/local64/lib/libplacebo.a(glsl_glslang.cc.obj):glslang.cc:(.text+0x1fc): undefined reference to `glslang::TProgram::TProgram()'
C:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/MABS/local64/lib/libplacebo.a(glsl_glslang.cc.obj):glslang.cc:(.text+0x231): undefined reference to `glslang::TProgram::link(EShMessages)'
C:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/MABS/local64/lib/libplacebo.a(glsl_glslang.cc.obj):glslang.cc:(.text+0x274): undefined reference to `glslang::GlslangToSpv(glslang::TIntermediate const&, std::vector<unsigned int, std::allocator<unsigned int> >&, glslang::SpvOptions*)'
C:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/MABS/local64/lib/libplacebo.a(glsl_glslang.cc.obj):glslang.cc:(.text+0x2f4): undefined reference to `glslang::TProgram::getInfoLog()'
C:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/MABS/local64/lib/libplacebo.a(glsl_glslang.cc.obj):glslang.cc:(.text+0x324): undefined reference to `glslang::TShader::getInfoLog()'
collect2.exe: error: ld returned 1 exit status
ERROR: libplacebo >= 4.192.0 not found using pkg-config
mpv_options.txt ffmpeg_options.txt media-autobuild_suite.ini.txt
edit: using --enable-libplacebo rather than disable
Strange, yesterday I finally managed to build ffmpeg without problems. However I used pkgconfig 1.8 beause of #2494. What I did was:
pacman -U --noconfirm "https://repo.msys2.org/mingw/mingw64/mingw-w64-x86_64-pkgconf-1~1.8.0-2-any.pkg.tar.zst"
IgnorePkg = mingw-w64-x86_64-pkgconf
to prevent mabs from updating pkgconfigP.S.: I also installed python-jinja via pacman (see downgrade pkgconfig) for mingw64, as it is a base build requirement for vulkan P.P.S.: Of course I compiled 64-bit. So for 32-bit you need to replace the according steps.
Hello. I do not know how you managed to get it built ... those changes did not work for me (64bit static only).
Created a fresh Windows sandbox, put these into line 4:
pacman -U --noconfirm "https://repo.msys2.org/mingw/mingw64/mingw-w64-x86_64-pkgconf-1~1.8.0-2-any.pkg.tar.zst"
sed -ri '/#IgnorePkg/a IgnorePkg = mingw-w64-x86_64-pkgconf\n' "/etc/pacman.conf"
Installed python-jinja2 via pacman.
And received the error below in the log at the ffmpeg configure stage.
Cheers
ccache g++ -D_FORTIFY_SOURCE=2 -fstack-protector-strong -mtune=generic -O2 -pipe -D__USE_MINGW_ANSI_STDIO=1 -static-libgcc -static-libstdc++ -IC:/MABS/local64/include -LC:/MABS/local64/lib -lfdk-aac -L/local64/lib -L/mingw64/lib -Wl,--nxcompat,--dynamicbase -Wl,--high-entropy-va -Wl,--as-needed -Wl,--pic-executable,-e,mainCRTStartup -Wl,--image-base,0x140000000 -IC:/MABS/local64/include/opus -LC:/MABS/local64/lib -o /tmp/ffconf.oXq28piX/test.exe /tmp/ffconf.oXq28piX/test.o -lopus -lm -liconv -lpsapi -lstdc++ -lstdc++
require_pkg_config libplacebo libplacebo >= 4.192.0 libplacebo/vulkan.h pl_vulkan_create
check_pkg_config libplacebo libplacebo >= 4.192.0 libplacebo/vulkan.h pl_vulkan_create
test_pkg_config libplacebo libplacebo >= 4.192.0 libplacebo/vulkan.h pl_vulkan_create
pkgconf --exists --print-errors libplacebo >= 4.192.0
check_func_headers libplacebo/vulkan.h pl_vulkan_create -IC:/MABS/local64/include -DPL_STATIC -IC:/MABS/local64/include/spirv_cross -IC:/MABS/msys64/mingw64/include -LC:/MABS/local64/lib -lplacebo -lm -lshlwapi -lglslang-default-resource-limits C:/MABS/local64/lib/../lib/libSPIRV.a C:/MABS/local64/lib/../lib/libMachineIndependent.a C:/MABS/local64/lib/../lib/libOSDependent.a C:/MABS/local64/lib/../lib/libOGLCompiler.a C:/MABS/local64/lib/../lib/libGenericCodeGen.a C:/MABS/local64/lib/../lib/libSPIRV-Tools.a C:/MABS/local64/lib/../lib/libSPIRV-Tools-opt.a -lversion -lspirv-cross -lvulkan -lcfgmgr32 -LC:/MABS/msys64/mingw64/lib -llcms2 -llcms2_fast_float -lm -pthread -ldovi -ladvapi32 -lbcrypt -lntdll -luserenv -lws2_32 -lkernel32 -lkernel32 -ladvapi32 -lbcrypt -lkernel32 -lntdll -luserenv -lws2_32 -lkernel32 -lws2_32 -lkernel32
test_ld cc -IC:/MABS/local64/include -DPL_STATIC -IC:/MABS/local64/include/spirv_cross -IC:/MABS/msys64/mingw64/include -LC:/MABS/local64/lib -lplacebo -lm -lshlwapi -lglslang-default-resource-limits C:/MABS/local64/lib/../lib/libSPIRV.a C:/MABS/local64/lib/../lib/libMachineIndependent.a C:/MABS/local64/lib/../lib/libOSDependent.a C:/MABS/local64/lib/../lib/libOGLCompiler.a C:/MABS/local64/lib/../lib/libGenericCodeGen.a C:/MABS/local64/lib/../lib/libSPIRV-Tools.a C:/MABS/local64/lib/../lib/libSPIRV-Tools-opt.a -lversion -lspirv-cross -lvulkan -lcfgmgr32 -LC:/MABS/msys64/mingw64/lib -llcms2 -llcms2_fast_float -lm -pthread -ldovi -ladvapi32 -lbcrypt -lntdll -luserenv -lws2_32 -lkernel32 -lkernel32 -ladvapi32 -lbcrypt -lkernel32 -lntdll -luserenv -lws2_32 -lkernel32 -lws2_32 -lkernel32
test_cc -IC:/MABS/local64/include -DPL_STATIC -IC:/MABS/local64/include/spirv_cross -IC:/MABS/msys64/mingw64/include -LC:/MABS/local64/lib C:/MABS/local64/lib/../lib/libSPIRV.a C:/MABS/local64/lib/../lib/libMachineIndependent.a C:/MABS/local64/lib/../lib/libOSDependent.a C:/MABS/local64/lib/../lib/libOGLCompiler.a C:/MABS/local64/lib/../lib/libGenericCodeGen.a C:/MABS/local64/lib/../lib/libSPIRV-Tools.a C:/MABS/local64/lib/../lib/libSPIRV-Tools-opt.a -LC:/MABS/msys64/mingw64/lib -pthread
BEGIN /tmp/ffconf.oXq28piX/test.c
1 #include <libplacebo/vulkan.h>
2 #include <stdint.h>
3 long check_pl_vulkan_create(void) { return (long) pl_vulkan_create; }
4 int main(void) { int ret = 0;
5 ret |= ((intptr_t)check_pl_vulkan_create) & 0xFFFF;
6 return ret; }
END /tmp/ffconf.oXq28piX/test.c
ccache gcc -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DWIN32_LEAN_AND_MEAN -U__STRICT_ANSI__ -D__USE_MINGW_ANSI_STDIO=1 -D__printf__=__gnu_printf__ -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -DPIC -D_FORTIFY_SOURCE=2 -fstack-protector-strong -mtune=generic -O2 -pipe -D__USE_MINGW_ANSI_STDIO=1 -mthreads -IC:/MABS/local64/include -Wno-int-conversion -DLIBTWOLAME_STATIC -DCACA_STATIC -DMODPLUG_STATIC -DCHROMAPRINT_NODLL -DZMQ_STATIC -DLIBXML_STATIC -DAL_LIBTYPE_STATIC -IC:/MABS/local64/include -IC:/MABS/local64/include/AL -std=c11 -fomit-frame-pointer -IC:/MABS/local64/include -pthread -IC:/MABS/msys64/mingw64/include -I/mingw64/include -IC:/MABS/local64/include -IC:/MABS/msys64/mingw64/include -IC:/MABS/local64/include -IC:/MABS/local64/include -IC:/MABS/local64/include/libpng16 -IC:/MABS/msys64/mingw64/include -IC:/MABS/local64/include -IC:/MABS/local64/include/freetype2 -IC:/MABS/msys64/mingw64/include -IC:/MABS/local64/include/harfbuzz -IC:/MABS/local64/include/fribidi -DFRIBIDI_LIB_STATIC -IC:/MABS/local64/include -IC:/MABS/local64/include/libxml2 -DLIBXML_STATIC -IC:/MABS/msys64/mingw64/include -IC:/MABS/local64/include/bs2b -IC:/MABS/msys64/mingw64/include -IC:/MABS/local64/include -IC:/MABS/local64/include -IC:/MABS/local64/include -IC:/MABS/local64/include/freetype2 -IC:/MABS/msys64/mingw64/include -IC:/MABS/local64/include/freetype2 -IC:/MABS/local64/include/fribidi -DFRIBIDI_LIB_STATIC -IC:/MABS/local64/include -IC:/MABS/local64/include -DHWY_STATIC_DEFINE -IC:/MABS/msys64/mingw64/include -DJXL_STATIC_DEFINE -IC:/MABS/local64/include -DJXL_THREADS_STATIC_DEFINE -IC:/MABS/local64/include -IC:/MABS/local64/include/mfx -IC:/MABS/msys64/mingw64/include -IC:/MABS/local64/include -IC:/MABS/msys64/mingw64/include/openjpeg-2.5 -DOPJ_STATIC -IC:/MABS/local64/include -IC:/MABS/local64/include/opus -IC:/MABS/local64/include/opus -IC:/MABS/local64/include -DPL_STATIC -IC:/MABS/local64/include/spirv_cross -IC:/MABS/msys64/mingw64/include -LC:/MABS/local64/lib C:/MABS/local64/lib/../lib/libSPIRV.a C:/MABS/local64/lib/../lib/libMachineIndependent.a C:/MABS/local64/lib/../lib/libOSDependent.a C:/MABS/local64/lib/../lib/libOGLCompiler.a C:/MABS/local64/lib/../lib/libGenericCodeGen.a C:/MABS/local64/lib/../lib/libSPIRV-Tools.a C:/MABS/local64/lib/../lib/libSPIRV-Tools-opt.a -LC:/MABS/msys64/mingw64/lib -pthread -c -o /tmp/ffconf.oXq28piX/test.o /tmp/ffconf.oXq28piX/test.c
C:/MABS/msys64/tmp/ffconf.oXq28piX/test.c: In function 'check_pl_vulkan_create':
C:/MABS/msys64/tmp/ffconf.oXq28piX/test.c:3:44: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
3 | long check_pl_vulkan_create(void) { return (long) pl_vulkan_create; }
| ^
gcc.exe: warning: C:/MABS/local64/lib/../lib/libSPIRV.a: linker input file unused because linking not done
gcc.exe: warning: C:/MABS/local64/lib/../lib/libMachineIndependent.a: linker input file unused because linking not done
gcc.exe: warning: C:/MABS/local64/lib/../lib/libOSDependent.a: linker input file unused because linking not done
gcc.exe: warning: C:/MABS/local64/lib/../lib/libOGLCompiler.a: linker input file unused because linking not done
gcc.exe: warning: C:/MABS/local64/lib/../lib/libGenericCodeGen.a: linker input file unused because linking not done
gcc.exe: warning: C:/MABS/local64/lib/../lib/libSPIRV-Tools.a: linker input file unused because linking not done
gcc.exe: warning: C:/MABS/local64/lib/../lib/libSPIRV-Tools-opt.a: linker input file unused because linking not done
ccache g++ -D_FORTIFY_SOURCE=2 -fstack-protector-strong -mtune=generic -O2 -pipe -D__USE_MINGW_ANSI_STDIO=1 -static-libgcc -static-libstdc++ -IC:/MABS/local64/include -LC:/MABS/local64/lib -lfdk-aac -L/local64/lib -L/mingw64/lib -Wl,--nxcompat,--dynamicbase -Wl,--high-entropy-va -Wl,--as-needed -Wl,--pic-executable,-e,mainCRTStartup -Wl,--image-base,0x140000000 -IC:/MABS/local64/include -DPL_STATIC -IC:/MABS/local64/include/spirv_cross -IC:/MABS/msys64/mingw64/include -LC:/MABS/local64/lib C:/MABS/local64/lib/../lib/libSPIRV.a C:/MABS/local64/lib/../lib/libMachineIndependent.a C:/MABS/local64/lib/../lib/libOSDependent.a C:/MABS/local64/lib/../lib/libOGLCompiler.a C:/MABS/local64/lib/../lib/libGenericCodeGen.a C:/MABS/local64/lib/../lib/libSPIRV-Tools.a C:/MABS/local64/lib/../lib/libSPIRV-Tools-opt.a -LC:/MABS/msys64/mingw64/lib -pthread -o /tmp/ffconf.oXq28piX/test.exe /tmp/ffconf.oXq28piX/test.o -lplacebo -lm -lshlwapi -lglslang-default-resource-limits -lversion -lspirv-cross -lvulkan -lcfgmgr32 -llcms2 -llcms2_fast_float -lm -ldovi -ladvapi32 -lbcrypt -lntdll -luserenv -lws2_32 -lkernel32 -lkernel32 -ladvapi32 -lbcrypt -lkernel32 -lntdll -luserenv -lws2_32 -lkernel32 -lws2_32 -lkernel32 -liconv -lpsapi -lstdc++ -lstdc++
C:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/MABS/local64/lib/libplacebo.a(glsl_glslang.cc.obj):glslang.cc:(.text+0x41): undefined reference to `glslang::InitializeProcess()'
C:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/MABS/local64/lib/libplacebo.a(glsl_glslang.cc.obj):glslang.cc:(.text+0x81): undefined reference to `glslang::FinalizeProcess()'
C:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/MABS/local64/lib/libplacebo.a(glsl_glslang.cc.obj):glslang.cc:(.text+0x119): undefined reference to `glslang::TShader::TShader(EShLanguage)'
C:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/MABS/local64/lib/libplacebo.a(glsl_glslang.cc.obj):glslang.cc:(.text+0x158): undefined reference to `glslang::TShader::setStrings(char const* const*, int)'
C:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/MABS/local64/lib/libplacebo.a(glsl_glslang.cc.obj):glslang.cc:(.text+0x1df): undefined reference to `glslang::TShader::parse(TBuiltInResource const*, int, EProfile, bool, bool, EShMessages, glslang::TShader::Includer&)'
C:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/MABS/local64/lib/libplacebo.a(glsl_glslang.cc.obj):glslang.cc:(.text+0x1fc): undefined reference to `glslang::TProgram::TProgram()'
C:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/MABS/local64/lib/libplacebo.a(glsl_glslang.cc.obj):glslang.cc:(.text+0x231): undefined reference to `glslang::TProgram::link(EShMessages)'
C:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/MABS/local64/lib/libplacebo.a(glsl_glslang.cc.obj):glslang.cc:(.text+0x274): undefined reference to `glslang::GlslangToSpv(glslang::TIntermediate const&, std::vector<unsigned int, std::allocator<unsigned int> >&, glslang::SpvOptions*)'
C:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/MABS/local64/lib/libplacebo.a(glsl_glslang.cc.obj):glslang.cc:(.text+0x2f4): undefined reference to `glslang::TProgram::getInfoLog()'
C:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/MABS/local64/lib/libplacebo.a(glsl_glslang.cc.obj):glslang.cc:(.text+0x324): undefined reference to `glslang::TShader::getInfoLog()'
collect2.exe: error: ld returned 1 exit status
ERROR: libplacebo >= 4.192.0 not found using pkg-config
Attached are ffmpeg_options.txt etc. ffmpeg_options.txt media-autobuild_suite.ini.txt mpv_options.txt
Trying to automate things is always good, but just to be sure, please try doing it manually step-by-step, to avoid anything that might interfere,
pacman -U --noconfirm "https://repo.msys2.org/mingw/mingw64/mingw-w64-x86_64-pkgconf-1~1.8.0-2-any.pkg.tar.zst"
cd /msys64/etc/
nano ./pacman.conf
(useless note: yeah, I don't like vi ;-) )IgnorePkg = mingw-w64-x86_64-pkgconf
(without #)pacman -S mingw-w64-x86_64-python-jinja
), maybe I also installed (msys) python-jinja, if in doubt install it, too (pacman -S python-jinja
)my config files (64-bit, static): config_files.zip
OK will compare config files and try as you suggest in a fresh Win11 Sandbox.
_edit: Ah, I was also looking for your ffmpeg_options.txt (and mpvoptions.txt) to cross-check them as well, they're not in the zip ;)
Could You be so kind and give me a hint where to find those 2 files? I didn't change them, thinking those options would be auto-generated by using _media-autobuildsuite.ini .So, if You're using my _media-autobuildsuite.ini settings, You should end up with my options. One last thing thats different is that I'm building on bare-metal Windows 10, not Windows 11 Sandbox. Shouldn't make a difference, but maybe it does :-) Edit: Oh, and now I see You're using ccache while I'm not. Might speed up things, but may cause trouble, so I'd suggest turning it off for testing.
Oh, and now I see You're using ccache while I'm not. Might speed up things, but may cause trouble, so I'd suggest turning it off for testing.
That's funny, I said no during the setup and CC=2 in media-autobuild_suite.ini.
Could You be so kind and give me a hint where to find those 2 files?
Sure, they're in the same folder as media-autobuild_suite.ini
After some reboots and whatnot (PC issues) I'm trying it now.
Could You be so kind and give me a hint where to find those 2 files?
They only seem to appear if ffmpegChoice=1 rather than 4.
I have temporarily given up, there are definitely issues with Microsoft Windows 11 Sandbox. Sometimes the sandbox allows one to "close your window, say "yes" to any popups", sometimes not. Sometimes the issue persists across sandboxes (it is NOT supposed to do that). If that issue arises, one can start task manager in the sandbox but not select anything with the mouse (HIGHLY unusual). Sometimes the sandbox issue persists across Windows host reboots and across sandbox instances. I have run various anti-virus tools which declare the host is clean.
How about using Virtualbox and Windows 10 (90-day evaluation, if you don't have any other license), if you really have to use a sandbox or VM? Edit: As MS seems to be more restrictive with windows 10 eval (registration/logging in), even good [ ;-) ] old Windows 8 Evaluation would be good enough...
See this comment I was finally able to compile ffmpeg with vulkan+libglslang+drawtext
flags.
https://github.com/m-ab-s/media-autobuild_suite/issues/2494#issuecomment-1782566361
@Murmur: Thanks a lot for your info! Do you maybe per chance know, if there's anything new to msys's pgkconf package?
When using pkgconf 1.8 (and being "tricky" [see my steps above]), I managed to build ffmpeg without any problems and other patches. However, since my CPU doesn't support intel SVT encoders, I disabled these, I also disabled some of the more "futuristic" codecs, but included the "infamous" ones like fdkaac, vulkan, glslang and cuda (voting to build with all codecs when asked while configuring and enabling non-free [of course only for testing ^^])
If there's a new 'working' version of pkgconf, maybe this issue might be closed?
I do not know details about the pkgconfigm I need to experiment with your settings aw you are able to compile ffmpeg-placebo filter(?).
It's been a week (or a little bit more) since I compiled ffmpeg, so there might (or might not) be some other upstream changes causing problems, but, yes, of course I compiled with libplacebo :-) However, maybe timing is key: downgrade pkgconfig right then when "compiling global tools" starts. Not earlier, not later.
Here's my buildconfig, maybe this helps reproducing my build buildconf.zip
Can we close this issue? For me it's all working again with current upstream. I did have some issues with upstream glslang, but that's not the problem here. So, any contradictions?
@nikolasr it's fine for me to close this ticket. I am still unable to compile ffmpeg with --enable-libplacebo
flag but can live without it. Everything else important works fine gpac, mp4box, ffmpeg
tools.
You are able to use --enable-libplacebo
flag I was unable to pinpoint what triggers my compilation broken, might be a side effect from another flags.
@Murmur : Strange. Did you try completely deleting (!) your media autobuild suite dir and checking out a fresh git clone? Not a master.zip, but a real git clone? Should work like a charm with one exception: I had to work around a glslang problem by choosing a specific revision. In _.\build\media-suitedeps.sh I changed
SOURCE_REPO_GLSLANG=https://github.com/KhronosGroup/glslang.git
to
SOURCE_REPO_GLSLANG=https://github.com/KhronosGroup/glslang.git#commit=feb5437
No other changes or workarounds needed. Worked for me on 12-23-2023
Edit: Oh, I just saw my ffmbc build right at the end wasn't successful, but everything else compiled ok (including ffmpeg.exe). But the compilation script didn't care, nor did I ;-)
P.S.: If you'd like to look at my settings, here's my media-autobuild_suite.ini:
[compiler list] arch=3 license2=1 standalone=1 vpx2=1 aom=1 rav1e=1 dav1d=1 libavif=1 jpegxl=1 x2643=4 x2652=5 other265=1 svthevc=2 xvc=1 vvc=1 uvg266=2 vvenc=2 vvdec=2 svtav1=2 svtvp9=2 flac=1 fdkaac=1 faac=1 exhale=1 mediainfo=1 soxB=1 ffmpegB2=1 ffmpegPath=https://git.ffmpeg.org/ffmpeg.git ffmpegUpdate=1 ffmpegChoice=4 mp4box=1 rtmpdump=1 mplayer2=1 mpv=1 vlc=2 bmx=1 curl=4 ffmbc=1 cyanrip2=1 ripgrep=1 jq=1 jo=1 dssim=1 avs2=1 dovitool=1 hdr10plustool=1 CC=2 cores=2 deleteSource=1 strip=1 pack=2 logging=1 updateSuite=1 timeStamp=1 ccache=2 noMintty=2
Could be a ffmpeg build flags media-autobuild_suite.ini: standalone=2 ffmpegB2=3 ffmpegChoice=1 ccache=1
differences. Need to run more tests later and maybe a new test folder from scratch.
Script builds libplacebo-git
library fine but then later ffmpeg binary ERROR: libplacebo >= 4.192.0 not found using pkg-config
error.
Got the same error until I completely deleted the whole suite and rebuilt from scratch with a fresh git checkout. There were issues with pkg-config, which had apparently been resolved upstream. But somehow this does not take effect until you rebuild everything. That means really everything, including build, local64 and msys64 Well, or just rename your mabs dir, and do a fresh git clone somewhere else in case you want to revert to your old files. ;-) And especially.... do not use ccache! Better a slow compile, but a working one ;-)
@barzai741 : Could you please close this issue?
logs.zip
I tried disabling it with the hash key in build/ffmpeg_options and deleted the folder build/vulkan-loader-git but neither work. Tried with and without mpv enabled.
I am a complete layman at computing, would appreciate some help.
Thanks.
The immediate error message is as follows:
CMake Error: CMake can not determine linker language for target: loader-unknown-chain CMake Error: install(EXPORT "VulkanLoaderConfig" ...) includes target "vulkan" which requires target "loader-unknown-chain" that is not in any export set. CMake Error: install(EXPORT "VulkanLoaderConfig" ...) includes target "vulkan" which requires target "loader_specific_options" that is not in any export set. -- Generating done (0.1s) CMake Generate step failed. Build files cannot be regenerated correctly. cmake failed. Check C:/ffmpeg/build/vulkan-loader-git/build-64bit/ab-suite.cmake.log This is required for other packages, so this script will exit.