Friday, May 27, 2016

Return of the static

While working on some go code recently, I hit a problem which was a bit perplexing:

# command-line-arguments
/usr/bin/ld: cannot find -lpthread
/usr/bin/ld: cannot find -lc
collect2: error: ld returned 1 exit status
/usr/lib/golang/pkg/tool/linux_amd64/6l: running gcc failed: unsuccessful exit status 0x100

After some consideration, and examination of the go command
go build -v -ldflags '-extldflags '\''-static'\'' -X github.com/xxxx/xxxx.buildVersion=1' -o pkg/xxxx-linux-amd64 main.go
I remembered a change to do with the packaging of static libraries, that is, they are not installed by default on RHEL/CentOS.
A simple
yum install glibc-static
was all that was required

2 comments:

  1. The article is interesting and useful. I tried it and found it really useful. Thank you very much. gmail login

    ReplyDelete
  2. Interesting facts and points cover in this blog post, these coding styles will help any software developer. Kanye West Jacket

    ReplyDelete