Conversation
golang:1.26 is Debian trixie (glibc 2.41), but the runtime stages used debian:bookworm-slim (glibc 2.36). Binaries built in the builder stage fail to start on the runtime image with "GLIBC_2.38 not found". Use debian:trixie-slim for the runtime base to match the builder. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Build whisper.cpp with -DGGML_VULKAN=ON to accelerate speech recognition on GPUs. make skyeye-vulkan produces a skyeye-vulkan binary (skyeye-vulkan.exe on Windows) using a separate whisper.cpp build directory so CPU and Vulkan builds don't collide. At runtime the Vulkan build needs only the GPU driver's Vulkan loader: vulkan-1.dll ships with Windows GPU drivers, and the container image includes libvulkan1 plus Mesa ICDs for AMD/Intel (the NVIDIA container toolkit injects NVIDIA's ICD). When no Vulkan device is present, whisper.cpp logs "no GPU found" and falls back to CPU inference. Releases gain skyeye-linux-amd64-vulkan.tar.gz and skyeye-windows-amd64-vulkan.zip, and images are pushed to ghcr.io with a -vulkan tag suffix. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The -static linker flag limits -l searches to static libraries, so ld cannot find -lvulkan-1 (MSYS2 ships only the import library libvulkan-1.dll.a). Explicit file arguments bypass the search rules, so link the import library by full path instead. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Name the binary skyeye/skyeye.exe inside the Vulkan release archives to match the standard archives, so the winsw service config and documented paths work unchanged. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
ld.exe is a native Windows program and cannot resolve MSYS2 virtual paths like /ucrt64. Convert the import library path to a Windows path with cygpath. (MSYS2 auto-converts environment variables that look like path lists, such as LIBRARY_PATH, but CGO_LDFLAGS contains flags and is passed through unconverted.) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
CGO_LDFLAGS is appended after the Go binding's link flags, so -lggml-vulkan lands after -lstdc++. With -static the linker does not re-scan libstdc++.a for symbols only libggml-vulkan.a needs (threads, stringstreams). Repeat -lstdc++ at the end of the link order. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.