|
本帖最后由 wulishui 于 2023-11-1 23:51 编辑
之前吐槽transmission、qbittorrent编译过程痛苦万分,高人说用docker安装这两个东西岂不是更好?我早有试过,编译docker和编译这两玩意过程半斤八两,虽痛苦,但以往起码能编译,现在你要是做个听话的人,端端正正是绝对编译不了了。
- go: downloading github.com/tilt-dev/fsnotify v1.4.8-0.20220602155310-fff9c274a375
- ../../cmd/main.go:22:2: github.com/docker/cli@v24.0.6+incompatible: Get "https://proxy.golang.org/github.com/docker/cli/@v/v24.0.6+incompatible.zip": dial tcp 142.251.43.17:443: connect: connection refused
- ../../cmd/main.go:23:2: github.com/docker/cli@v24.0.6+incompatible: Get "https://proxy.golang.org/github.com/docker/cli/@v/v24.0.6+incompatible.zip": dial tcp 142.251.43.17:443: connect: connection refused
- ../../cmd/main.go:24:2: github.com/docker/cli@v24.0.6+incompatible: Get "https://proxy.golang.org/github.com/docker/cli/@v/v24.0.6+incompatible.zip": dial tcp 142.251.43.17:443: connect: connection refused
- ../../cmd/main.go:25:2: github.com/docker/cli@v24.0.6+incompatible: Get "https://proxy.golang.org/github.com/docker/cli/@v/v24.0.6+incompatible.zip": dial tcp 142.251.43.17:443: connect: connection refused
- ../../cmd/compose/build.go:25:2: github.com/compose-spec/compose-go@v1.19.0: Get "https://proxy.golang.org/github.com/compose-spec/compose-go/@v/v1.19.0.zip": dial tcp 142.251.43.17:443: connect: connection refused
- ../../cmd/compose/compose.go:30:2: github.com/compose-spec/compose-go@v1.19.0: Get "https://proxy.golang.org/github.com/compose-spec/compose-go/@v/v1.19.0.zip": dial tcp 142.251.43.17:443: connect: connection refused
- ../../cmd/compose/build.go:26:2: github.com/compose-spec/compose-go@v1.19.0: Get "https://proxy.golang.org/github.com/compose-spec/compose-go/@v/v1.19.0.zip": dial tcp 142.251.43.17:443: connect: connection refused
- ../../cmd/compose/build.go:27:2: github.com/compose-spec/compose-go@v1.19.0: Get "https://proxy.golang.org/github.com/compose-spec/compose-go/@v/v1.19.0.zip": dial tcp 142.251.43.17:443: connect: connection refused
- ../../cmd/compose/compose.go:32:2: github.com/compose-spec/compose-go@v1.19.0: Get "https://proxy.golang.org/github.com/compose-spec/compose-go/@v/v1.19.0.zip": dial tcp 142.251.43.17:443: connect: connection refused
- ../../cmd/compose/compose.go:33:2: github.com/docker/buildx@v0.11.2: Get "https://proxy.golang.org/github.com/docker/buildx/@v/v0.11.2.zip": dial tcp 142.251.42.241:443: connect: connection refused
复制代码 这其实是该死的golang官方加入的一个袋里。为什么叫“袋里”?因为它不加还好,加了,就真的死了。
想尽办法去不掉。
首先动源码,找到凡是包含proxy.golang.org的文件,复制出来作为src,通通改成goproxy.cn,行不通,编译依然死也要使用https://proxy.golang.org。
没办法,找到https://goproxy.cn/去了,使用:
$ export GO111MODULE=on$ export GOPROXY=https://goproxy.cn依然不行,编译死也要使用https://proxy.golang.org
再试:
$ echo "export GO111MODULE=on" >> ~/.profile$ echo "export GOPROXY=https://goproxy.cn" >> ~/.profile$ source ~/.profile依然不行,死也使用https://proxy.golang.org
现在在makefile里面加:
export GO111MODULE=on
export GOPROXY=https://goproxy.cn
还不知道行不行。就这样从早上到晚上,一天过去了。
实践证明,什么办法都不行,仅仅在makefile动手脚可行:
在makefile里面加:
export GO111MODULE=on
export GOPROXY=https://goproxy.cn
docker编译通过了,dockerd又没法编译了,NMG13!
- # $(1) = path to dependent package 'Makefile'
- # $(2) = relevant dependency '.installer' file
- define EnsureVendoredVersion
- ( \
- DEP_VER=$$$$( grep --only-matching --perl-regexp '(?<=PKG_VERSION:=)(.*)' "$(1)" ); \
- VEN_VER=$$$$( grep --only-matching --perl-regexp '(?<=_VERSION:=v)(.*)(?=})' "$(PKG_BUILD_DIR)/hack/dockerfile/install/$(2)" ); \
- if [ "$$$${VEN_VER}" != "$$$${DEP_VER}" ]; then \
- echo "ERROR: Expected 'PKG_VERSION:=$$$${VEN_VER}' in '$(1)', found 'PKG_VERSION:=$$$${DEP_VER}'"; \
- exit 1; \
- fi \
- )
- endef
复制代码- # Verify dependencies are the vendored version
- $(call EnsureVendoredVersion,../containerd/Makefile,containerd.installer)
- $(call EnsureVendoredVersion,../runc/Makefile,runc.installer)
- $(call EnsureVendoredVersion,../tini/Makefile,tini.installer)
复制代码 这几个版本验证特么有问题。
比如:
../containerd/Makefile ----特么根本就不存在!
../containerd-1.7.1/Makefile ----这才是存在的!
因为 containerd 的编译目录根本就不是“containerd”,而是containerd-$PKG_VERSION
同样,后面两个一样不存在。
为什么那么多人能编译,我就奇了怪了!
对于我等使用正式版源码的人来说,这个校验多余,因为测试版时候人家已经验证过了,都是匹配的。
直接干掉。
|
|