gnupg 2.3.2 出现错误 /home/ryan/Downloads/gnupg-2.3.2/common/sysutils.c:1263: 对“gpgrt_access”未定义引用

gnupg 2.3.2 出现错误 /home/ryan/Downloads/gnupg-2.3.2/common/sysutils.c:1263: 对“gpgrt_access”未定义引用

尝试在 Ubuntu 20 上从源代码安装最新的 gnupg。我的第一个 ./configure 发现缺少一些依赖项。我通过包管理器填充了其中一些,其他一些我从源代码安装。

现在我的./configure 以此结束:

        GnuPG v2.3.2 has been configured as follows:

        Revision:  3bf8d7e1b  (15352)
        Platform:  GNU/Linux (x86_64-pc-linux-gnu)

        OpenPGP:   yes
        S/MIME:    yes
        Agent:     yes
        Smartcard: yes (without internal CCID driver)
        TPM:       no 
        G13:       no
        Dirmngr:   no
        Keyboxd:   no
        Gpgtar:    yes
        WKS tools: yes

        Protect tool:       (default)
        LDAP wrapper:       (default)
        Default agent:      (default)
        Default pinentry:   (default)
        Default scdaemon:   (default)
        Default keyboxd:    (default)
        Default tpm2daemon: (default)
        Default dirmngr:    (default)

        Dirmngr auto start:  yes
        Readline support:    no
        LDAP support:        n/a
        TLS support:         no
        TOFU support:        no
        Tor support:         only .onion

我认为看起来不错

所以我运行 sudo make,这里是最后几行输出:

make[2]: Entering directory '/home/ryan/Downloads/gnupg-2.3.2/kbx'
gcc -I/usr/local/include  -DKEYBOX_WITH_X509=1 -Wall -Wno-format-zero-length -Wno-pointer-sign -Wpointer-arith -g -O2   -o kbxutil kbxutil-kbxutil.o kbxutil-keybox-util.o kbxutil-keybox-init.o kbxutil-keybox-blob.o kbxutil-keybox-file.o kbxutil-keybox-search.o kbxutil-keybox-update.o kbxutil-keybox-openpgp.o kbxutil-keybox-dump.o ../common/libcommon.a -L/usr/lib/x86_64-linux-gnu -lksba -lgpg-error -L/usr/local/lib -lgcrypt  -L/usr/local/lib -lgpg-error     
/usr/bin/ld: ../common/libcommon.a(libcommon_a-sysutils.o): in function `gnupg_access':
/home/ryan/Downloads/gnupg-2.3.2/common/sysutils.c:1263: undefined reference to `gpgrt_access'
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:749: kbxutil] Error 1
make[2]: Leaving directory '/home/ryan/Downloads/gnupg-2.3.2/kbx'
make[1]: *** [Makefile:631: all-recursive] Error 1
make[1]: Leaving directory '/home/ryan/Downloads/gnupg-2.3.2'
make: *** [Makefile:551: all] Error 2

不太清楚如何解决这个问题。

答案1

不太清楚如何解决这个问题。

出色地,我个人的选择就是不要尝试让你陷入那种境地的事情……

$ sudo apt 安装 gnupg

... 更加简单,如果您发现不再需要或想要它,可以完全卸载。
虽然它可能不是最新的,但对于大多数功能来说,这很少是必需的 - 除非存在严重的错误或缺陷。

最后,除非您真正了解有关实际软件的“详细信息”,否则尝试编译复杂软件很容易失败。

正如往常一样,“知识就是王道”。
因此,如果您不具备专业知识,那么最好保持简单。

答案2

LD 路径中有一个冲突的旧版 libgpg-error,可能位于 /usr/lib/x86_64-linux-gnu/ 下。将其重新链接到新版本,例如:ln -sf /usr/local/lib/libgpg-error.so.0 /usr/lib/x86_64-linux-gnu/libgpg-error.so.0 是的,由于所有依赖项,从源代码编译 gnupg 是一种糟糕的体验。

相关内容