298 字
1 分钟
ImmortalWRT 编译 dockerd 错误
ImmortalWRT 编译错误
当然部分也适用于 OpenWRT ~
编译 dockerd 错误
错误描述
# Verify CLI is the same version( CLI_MAKEFILE="../docker/Makefile"; CLI_VERSION=$( grep --only-matching --perl-regexp '(?<=PKG_VERSION:=)(.*)' "${CLI_MAKEFILE}" ); if [ "${CLI_VERSION}" != "27.3.1" ]; then echo "ERROR: Expected 'PKG_VERSION:=27.3.1' in '${CLI_MAKEFILE}', found 'PKG_VERSION:=${CLI_VERSION}'"; exit 1; fi )# Verify PKG_GIT_SHORT_COMMIT( EXPECTED_PKG_GIT_SHORT_COMMIT=$( /home/immortalwrt/feeds/smpackage/dockerd/git-short-commit.sh 'github.com/moby/moby' 'v27.3.1' '/home/immortalwrt/tmp/git-short-commit/dockerd-27.3.1' ); if [ "${EXPECTED_PKG_GIT_SHORT_COMMIT}" != "c710b88" ]; then echo "ERROR: Expected 'PKG_GIT_SHORT_COMMIT:=${EXPECTED_PKG_GIT_SHORT_COMMIT}', found 'PKG_GIT_SHORT_COMMIT:=c710b88'"; exit 1; fi )Trying remote 'github.com/moby/moby'fatal: 'github.com/moby/moby' does not appear to be a git repositoryfatal: Could not read from remote repository.
Please make sure you have the correct access rightsand the repository exists.Trying remote 'https://github.com/moby/moby'From https://github.com/moby/moby * tag v27.3.1 -> FETCH_HEADHEAD is now at 41ca978 Merge pull request #48525 from thaJeztah/27.x_backport_govulncheck_permissionsERROR: Expected 'PKG_GIT_SHORT_COMMIT:=41ca978', found 'PKG_GIT_SHORT_COMMIT:=c710b88'make[2]: *** [Makefile:199: /home/immortalwrt/build_dir/target-x86_64_musl/dockerd-27.3.1/.prepared_9f6697b8d87997c892a7544841d20b42_6664517399ebbbc92a37c5bb081b5c53] Error 1make[2]: Leaving directory '/home/immortalwrt/feeds/smpackage/dockerd'time: package/feeds/smpackage/dockerd/compile#1.06#0.98#5.13 ERROR: package/feeds/smpackage/dockerd failed to build.make[1]: *** [package/Makefile:179: package/feeds/smpackage/dockerd/compile] Error 1make[1]: Leaving directory '/home/immortalwrt'make: *** [/home/immortalwrt/include/toplevel.mk:233: package/feeds/smpackage/dockerd/compile] Error 2解决方法
问题原因是使用的 small-package 包中 dockerd 版本与 luci-app-dockerman 版本不一致,且 Makefile 文件中搜索路径有问题
注意,因为上游项目会不定时更新,因此显示的版本会与本文不一致; 需要自行判断,修改文件
PKG_NAME:=dockerdPKG_VERSION:=27.3.1PKG_RELEASE:=1PKG_LICENSE:=Apache-2.0PKG_LICENSE_FILES:=LICENSE
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gzPKG_GIT_URL:=github.com/moby/mobyPKG_GIT_REF:=v$(PKG_VERSION)PKG_SOURCE_URL:=https://codeload.$(PKG_GIT_URL)/tar.gz/$(PKG_GIT_REF)?PKG_HASH:=d18208d9e0b6421307342cdef266193984c97c87177b9262b1113e6e9e7e020e# PKG_HASH:=5c9402ef5886be7683260a424c02de199b45b7e15633d90e03faaf672f7041fcPKG_GIT_SHORT_COMMIT:=41ca978# 修改下面文件路径,也可改为绝对路径
define Build/Prepare $(Build/Prepare/Default) # Verify dependencies are the vendored version $(call EnsureVendoredVersion,../../packages/utils/containerd/Makefile,containerd.installer) $(call EnsureVendoredVersion,../../packages/utils/runc/Makefile,runc.installer) $(call EnsureVendoredVersion,../../packages/utils/tini/Makefile,tini.installer) ImmortalWRT 编译 dockerd 错误
https://fuwari.vercel.app/posts/opcompile/