0

我正在尝试让 git 在基于 armhf BuildRoot 的系统上运行。由于 git 不在 BuildRoot 中,我转到我的另一个基于 Debian 的 armhf 系统并从那里用“make prefix=/usr CFLAGS="${CFLAGS} -static-libgcc" (我想要一个静态二进制文件)从源代码编译它。然后我将该二进制文件和 /usr/share/git-core 中的文件存档,并在基于 armhf BuildRoot 的系统上取消存档。

现在,当我尝试克隆一个 repo 时。通过 https 在目标系统上出现此错误:

git:/usr/lib/libcrypto.so.1.0.0:没有可用的版本信息(git需要)
克隆到“test_repo”...
致命:找不到“https”的远程助手

我的 armhf 构建系统和目标似乎都有相同版本的 libcrypto.so(即 1.0.0),所以我看不出版本方面的问题。有人有任何建议让它工作吗?

4

1 回答 1

1
  1. 如果您想拥有静态二进制文件,请使用-static 链接器选项(即LDFLAGS)。
  2. 在大多数情况下,“没有可用的版本信息”并不是一个大问题,只是您的libcrypto库没有可用的符号版本信息(如VERDEFELF 部分中所示)。
  3. git-remote-https您真正的问题是您的git没有git-remote-http应该位于/usr/lib/git-core/.
  4. 但据所知,BuildRoot 已经有一个 git 包,所以你最好的选择就是使用它。
于 2016-08-09T08:42:26.503 回答