Whisper.pc is found, version is OK, libs/cflags are correct. But FFmpeg’s require_pkg_config call (inside configure) performs a link-time test after the pkg-config check — it tries to link a small test program against the whisper libraries. The linker reports that symbols inside libggml-vulkan.a such as matmul_id_subgroup_* are not defined → link failure → configure incorrectly reports “not found”.
So the real bug is:
The Vulkan backend in whisper.cpp commit 8443cf05e (v1.8.4) has an incomplete shader generation pipeline.
The vulkan-shaders-gen tool runs successfully (as seen in the build log: Completed 'vulkan-shaders-gen'), but it does not generate the required matmul_id_subgroup_* shader variants or is not aligned with the current GGML source.
As a result:
The library contains references to shader data symbols
But the actual definitions of those symbols are missing
→ This leads to a linker failure.
/opt/ct-ng/x86_64-ffbuild-linux-gnu/bin/ld: ggml-vulkan.cpp:(.text+0xa1941):
undefined reference to matmul_id_subgroup_iq3_s_f32_len' /opt/ct-ng/x86_64-ffbuild-linux-gnu/bin/ld: ggml-vulkan.cpp:(.text+0xa199c): undefined reference to matmul_id_subgroup_iq3_s_f32_data'
... matmul_id_subgroup_f16_f32_aligned_f16acc_len ...
... matmul_id_subgroup_f16_f32_f16acc_len ...
Whisper.pc is found, version is OK, libs/cflags are correct. But FFmpeg’s require_pkg_config call (inside configure) performs a link-time test after the pkg-config check — it tries to link a small test program against the whisper libraries. The linker reports that symbols inside libggml-vulkan.a such as matmul_id_subgroup_* are not defined → link failure → configure incorrectly reports “not found”.
So the real bug is:
The Vulkan backend in whisper.cpp commit 8443cf05e (v1.8.4) has an incomplete shader generation pipeline.
The vulkan-shaders-gen tool runs successfully (as seen in the build log: Completed 'vulkan-shaders-gen'), but it does not generate the required matmul_id_subgroup_* shader variants or is not aligned with the current GGML source.
As a result:
The library contains references to shader data symbols
But the actual definitions of those symbols are missing
→ This leads to a linker failure.
/opt/ct-ng/x86_64-ffbuild-linux-gnu/bin/ld: ggml-vulkan.cpp:(.text+0xa1941):
undefined reference to
matmul_id_subgroup_iq3_s_f32_len' /opt/ct-ng/x86_64-ffbuild-linux-gnu/bin/ld: ggml-vulkan.cpp:(.text+0xa199c): undefined reference tomatmul_id_subgroup_iq3_s_f32_data'... matmul_id_subgroup_f16_f32_aligned_f16acc_len ...
... matmul_id_subgroup_f16_f32_f16acc_len ...