我从官方的Solaris 11存储库安装了gnupg,但遇到了库问题。 这是我得到的错误:
ld.so.1: gpg2: fatal: relocation error: file /usr/lib/libreadline.so.5: symbol tgetent: referenced symbol not found
在这里查看更多信息:
bash-4.1$ gpg2 --list-secret-keys Warning: using insecure memory! /www/shared/.gnupg/secring.gpg ------------------------------ sec 1024D/E6A51C54 2010-11-25 uid John Doe (jdoe) <[email protected]> ssb 2048g/2BE06126 2010-11-25 bash-4.1$ gpg2 --edit-key [email protected] gpg (GnuPG) 2.0.17; Copyright (C) 2011 Free Software Foundation, Inc. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Warning: using insecure memory! Secret key is available. pub 1024D/E6A51C54 created: 2010-11-25 expires: never usage: SC trust: unknown validity: unknown sub 2048g/2BE06126 created: 2010-11-25 expires: never usage: E [ unknown] (1). John Doe (jdoe) <[email protected]> ld.so.1: gpg2: fatal: relocation error: file /usr/lib/libreadline.so.5: symbol tgetent: referenced symbol not found Killed bash-4.1$ pkg list |grep readl library/readline 5.2-0.175.0.0.0.2.537 i-- bash-4.1$ pkg list |grep gnup crypto/gnupg 2.0.17-0.175.0.0.0.2.537 i-- bash-4.1$ ls -al /usr/lib/libreadline.so.5 -r-xr-xr-x 1 root bin 412864 Jun 20 2012 /usr/lib/libreadline.so.5 bash-4.1$ which gpg2 /usr/bin/gpg2 bash-4.1$ ldd /usr/bin/gpg2 libc.so.1 => /lib/libc.so.1 libz.so.1 => /lib/libz.so.1 libbz2.so.1 => /usr/lib/libbz2.so.1 libresolv.so.2 => /lib/libresolv.so.2 libreadline.so.5 => /usr/lib/libreadline.so.5 libgcrypt.so.11 => /usr/lib/libgcrypt.so.11 libgpg-error.so.0 => /usr/lib/libgpg-error.so.0 libassuan.so.0 => /usr/lib/libassuan.so.0 libsocket.so.1 => /lib/libsocket.so.1 libnsl.so.1
请让我知道,如果我必须提供更多的信息!
这是Solaris 11.0(也称为Solaris 11 11/11)中的gpg2中的一个已知错误,最初以Sun错误7098984的forms提交,现在称为Oracle错误跟踪系统 [需要查看的Oracle支持帐户] 中的错误15747076 。
它在Solaris 11.1和更高版本中得到修复。 对于Solaris 11.0,此解决方法在某些情况下会有所帮助(但如果您使用的是pfexec / sudo / etc,则不会):
env LD_PRELOAD_32=/usr/lib/libcurses.so.1 gpg2