场景
需要将二进制文件放到docker
镜像中。使用体积较小的镜像,镜像中没有程序所需的一些库。所以希望独立打包(不依赖系统动态链接库)。
实际操作
[root@test01v gh_data]# go build --ldflags '-linkmode external -extldflags "-static"'
# gh_data_box/gh_data
/usr/local/go/pkg/tool/linux_amd64/link: running gcc failed: exit status 1
/bin/ld: cannot find -lpthread
/bin/ld: cannot find -lc
collect2: error: ld returned 1 exit status
发现缺少包
yum install glibc-static -y
安装完成后,可以成功build