Docker image: golang:1.12.1
.
Local Go version: go1.10.4 linux/amd64.
I have such command in my bash
script:
GOOS=linux GOARCH=amd64 go build -ldflags '-s -w -X main.Version=$(git describe --tags)' -o ./path/to/binary ./main.go &&
Now CI/CD fails on this command, but a month ago everything was ok with the same Docker image.
Is -ldflags
deprecated or what?
Console output:
# command-line-arguments
usage: link [options] main.o
... //skipped
-extldflags flags
pass flags to external linker
... //skipped
-s disable symbol table
... //skipped
-w disable DWARF generation
and there is nothing about -ldflags
.
Should I use -extldflags
now?
I've tried
GOOS=linux GOARCH=amd64 go build -o ./path/to/binary -ldflags '-s -w -X main.Version=$(git describe --tags)' ./main.go &&
, didn't helped.
Edit 1
GOOS=linux GOARCH=amd64 go build -ldflags '-s -w' -o ./path/to/binary ./main.go &&
was succesfull, but I need that parameter anyway. Even
GOOS=linux GOARCH=amd64 go build -ldflags '-s -w -X main.Version=123456' -o ./path/to/binary ./main.go &&
works.
Investigating further in git output.