zhangguanzhang's Blog

skopeo 静态编译

字数统计: 218阅读时长: 1 min
2020/08/27

skopeo 静态编译步骤

简介

写于 2022/02/11 , 之前 提了静态编译的issue 后,移除了 nix 的编译,看了下 install.md 后试了下可以静态编译。

编译

过程

1
2
3
4
5
6
7
8
git clone https://github.com/containers/skopeo.git
cd skopeo
# 最新版本的话
# SKOPEO_CIDEV_CONTAINER_FQIN=m.daocloud.io/quay.io/libpod/skopeo_cidev:latest make shell
make shell

CGO_ENABLED=0 make BUILDTAGS=containers_image_openpgp GO_DYN_FLAGS=

1
2
3
4
[root@052c36b618d5 skopeo]# ldd bin/skopeo 
not a dynamic executable
[root@052c36b618d5 skopeo]# ./bin/skopeo --version
skopeo version 1.6.1-dev commit: 59a452276b17a0fe489a389c266e2cd748f853be

龙芯 loongarch64

龙芯的支持文件 https://raw.githubusercontent.com/etcd-io/bbolt/master/bolt_loong64.go
在 1.11.1 后的master开始才支持 loong64 ,之前的版本自己要在 vendor 里添加上面的支持文件

1
2
3
4
# https://github.com/containers/skopeo/blob/main/install.md#building-a-static-binary
# 下面是 golang 交叉编译
docker run -v $PWD:/src -w /src zhangguanzhang/loong64:debian11-go1.19.4 \
bash -c 'CC=loongarch64-linux-gnu-gcc GOARCH=loong64 make BUILDTAGS=containers_image_openpgp GO_DYN_FLAGS='

参考

CATALOG
  1. 1. 简介
  2. 2. 编译
    1. 2.1. 过程
    2. 2.2. 龙芯 loongarch64
  3. 3. 参考