diff --git a/runner/.justfile b/runner/.justfile index 80e2ee114..2dd452de2 100644 --- a/runner/.justfile +++ b/runner/.justfile @@ -45,7 +45,7 @@ build-runner-binary: #!/usr/bin/env bash set -e echo "Building runner for linux/amd64" - cd {{source_directory()}}/cmd/runner && GOOS=linux GOARCH=amd64 go build -ldflags "-X 'main.Version=$version' -extldflags '-static'" + cd {{source_directory()}}/cmd/runner && CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags "-X 'main.Version=$version' -extldflags '-static'" echo "Runner build complete!" # Build shim @@ -56,7 +56,12 @@ build-shim-binary: cd {{source_directory()}}/cmd/shim if [ -n "$shim_os" ] && [ -n "$shim_arch" ]; then echo "Building shim for $shim_os/$shim_arch" - GOOS=$shim_os GOARCH=$shim_arch go build -ldflags "-X 'main.Version=$version' -extldflags '-static'" + if [ "$shim_os" = "linux" ] && [ "$(uname -s)" != "Linux" ]; then + echo "WARNING: Cross-compiling to Linux, disabling CGO (DCGM unavailable)" + CGO_ENABLED=0 GOOS=$shim_os GOARCH=$shim_arch go build -ldflags "-X 'main.Version=$version' -extldflags '-static'" + else + CGO_ENABLED=1 GOOS=$shim_os GOARCH=$shim_arch go build -ldflags "-X 'main.Version=$version'" + fi else echo "Building shim for current platform" go build -ldflags "-X 'main.Version=$version' -extldflags '-static'" diff --git a/runner/internal/shim/dcgm/wrapper_linux.go b/runner/internal/shim/dcgm/wrapper_linux.go index 23d9ad5b4..359d374ea 100644 --- a/runner/internal/shim/dcgm/wrapper_linux.go +++ b/runner/internal/shim/dcgm/wrapper_linux.go @@ -1,4 +1,4 @@ -//go:build linux +//go:build linux && cgo package dcgm diff --git a/runner/internal/shim/dcgm/wrapper_linux_nocgo.go b/runner/internal/shim/dcgm/wrapper_linux_nocgo.go new file mode 100644 index 000000000..60c97e49e --- /dev/null +++ b/runner/internal/shim/dcgm/wrapper_linux_nocgo.go @@ -0,0 +1,9 @@ +//go:build linux && !cgo + +package dcgm + +import "fmt" + +func NewDCGMWrapper(address string) (DCGMWrapperInterface, error) { + return nil, fmt.Errorf("DCGM unavailable: built with CGO disabled (cross-compilation)") +} diff --git a/runner/internal/shim/dcgm/wrapper_linux_test.go b/runner/internal/shim/dcgm/wrapper_linux_test.go index 93cb61055..20fc4d59a 100644 --- a/runner/internal/shim/dcgm/wrapper_linux_test.go +++ b/runner/internal/shim/dcgm/wrapper_linux_test.go @@ -1,4 +1,4 @@ -//go:build linux +//go:build linux && cgo package dcgm