我在树莓派上安装 gnupg 时遇到问题

我在树莓派上安装 gnupg 时遇到问题

我不想在 raspbian 中使用标准 gpg 版本,它已经有近 4 年的历史了。我必须手动编译所有库。这工作正常,但当我编译 gpg 时,它说“ libgcrypt 太旧了,需要 1.7.0 有 1.6.4 ”,即使我安装了 libgcrypt 1.8.1 。所以我用“make uninstall”卸载了gpg和libgcrypt并再次编译它们。没有成功。这两天我一直在尝试寻找解决方案。 ubuntu 论坛上有一些论坛帖子,但帮助不大。

当我上次编译它时,它给出了一个错误:

collect2: error: ld returned 1 exit status Makefile:949: recipe for target 't-stringhelp' failed make[3]: *** [t-stringhelp] Error 1 make[3]: Leaving directory '/home/pi/gnupg-2.2.1/common' Makefile:816: recipe for target 'all' failed make[2]: *** [all] Error 2 make[2]: Leaving directory '/home/pi/gnupg-2.2.1/common' Makefile:590: recipe for target 'all-recursive' failed make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory '/home/pi/gnupg-2.2.1' Makefile:509: recipe for target 'all' failed make: *** [all] Error 2

答案1

将评论转换为答案:

从您的评论来看,您使用的是oldstableRaspbian 版本。您应该知道,oldstable 的更新频率较低,预计在下一个稳定版本发布后大约一年内仍会保留在 Debian 安全团队的视野中。

oldstable 上的 Debian 维基

因此,除非有特殊原因需要继续使用,否则不应使用 Debian oldstable。所有 Raspbian 用户都应该更改他们的sources.list以反映当前 Raspbian 新稳定版本的发布,拉紧

GNUPG 2.2 系列也是 GNUPG 的新稳定版。 2.1 系列及之前版本于 2017 年 12 月底支持。

GNUPG 2.2.0公告

GnuPG 团队很高兴地宣布推出新版本的 GnuPG:版本 2.2.0。请参阅下面的新功能和错误修复列表。此版本标志着新的长期支持系列的开始,以取代 2.0.x 系列,该系列将于 2017 年 12 月 31 日终止。

GNUPG 2.2.1 公告

我们很高兴地宣布推出新的 GnuPG 版本:版本 2.2.1。这是一个维护版本;请参阅下面的已修复错误列表。

至于问题:“升级到 Stretch 会破坏一切吗?”

我建议购买第二张 SD 卡,在该新卡上安装新的稳定版 Raspbian,并复制所有个人应用程序和数据。这将允许您测试新的稳定版本,同时不会干扰旧的稳定安装。

附录

当然,这个答案并不能直接回答你的问题“我如何构建 GNUPG?”

要获得此问题的简单易懂的答案,您可以按照 GNUPG 的 Webkey 安装页面上包含的说明进行操作:

GNUPG Webkey 与新版本 GNUPG 的本地构建

GNUPG 说:

安装最新 GnuPG 版本的最简单方法是使用 Speedo,它会下载、验证和构建所有依赖包。为此,首先解压缩 tarball:

$ tar xjf gnupg-2.1.15.tar.bz2

在非 GNU 系统上,您可能需要使用它:

$ zcat gnupg-2.1.15.tar.bz2 | tar xf -

然后运行:

$ make -f gnupg-2.1.15/build-aux/speedo.mk INSTALL_PREFIX=. \
    speedo_pkg_gnupg_configure='--enable-gpg2-is-gpg        \
      --disable-g13 --enable-wks-tools' native

如果您遇到错误,您可能缺少一些开发工具;安装它们并重试。如果一切成功,您会注意到 webkey 的主目录下有一堆新目录:

PLAY bin include lib libexec sbin share swdb.lst swdb.lst.sig 或者您可以删除不再需要的内容:

$ rm -rf PLAY include lib swdb.*

要使用新安装的 GnuPG,您需要先运行它(您应该将其添加到 webkey 的 .profile 或 .bashrc):

PATH="$HOME/bin:$PATH"
LD_LIBRARY_PATH="$(pwd)/lib"
export LD_LIBRARY_PATH

结束构建指令

当然,您将使用最新版本的 GNUPG,它不再是 2.1.15

相关内容