web-dev-qa-db-ja.com

gpg:致命的:libgcryptが古すぎます(1.7.0が必要、1.6.5が必要)

yakketyにアップグレードした後、システムを安全に更新またはアップグレードできません。 apt更新(およびaptitudeとsynapticなど)の出力は常に同じです。

GPGエラー: http://01.archive.ubuntu.com/ubunt yakkety-updates InRelease:apt-keyの実行中に不明なエラーが発生しました

apt-key updateの実行は私に与えます:

gpg:致命的:libgcryptが古すぎます(1.7.0が必要、1.6.5が必要)

かなり奇妙です...私は手動でlibgcrypt20をインストールしようとしましたが、出力は同じです...

だから私は私に与えるdpkg -p libgcrypt20で確認しました:

dpkg-query:パッケージ 'libgcrypt20'は利用できません

しかし、シナプスによると、バージョン1.7.2-2ubuntu1がインストールされています...

私はすでにldconfigを試しました。

非民主的な国にいるため、セーフモードでは更新できません。システムが怖いです。

いいねc。

4
Antonello Salis

これとよく似たエラーが発生しました。私の場合、別のバージョンのlibgcryptが/ usr/local/libにインストールされていました

user@computer:~$ gpg --version
gpg: Fatal: libgcrypt is too old (need 1.7.0, have 1.6.4)
user@computer:~$ Sudo ldd /usr/bin/gpg
    linux-vdso.so.1 =>  (0x00007fff5b3b8000)
    libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f4f1f95d000)
    libbz2.so.1.0 => /lib/x86_64-linux-gnu/libbz2.so.1.0 (0x00007f4f1f74d000)
    libsqlite3.so.0 => /usr/lib/x86_64-linux-gnu/libsqlite3.so.0 (0x00007f4f1f44b000)
    libgcrypt.so.20 => /usr/local/lib/libgcrypt.so.20 (0x00007f4f1f169000)
    libreadline.so.7 => /lib/x86_64-linux-gnu/libreadline.so.7 (0x00007f4f1ef1f000)
    libassuan.so.0 => /usr/local/lib/libassuan.so.0 (0x00007f4f1ed0a000)
    libgpg-error.so.0 => /usr/local/lib/libgpg-error.so.0 (0x00007f4f1eaf6000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f4f1e72f000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f4f1e426000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f4f1e208000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f4f1e004000)
    libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5 (0x00007f4f1ddd9000)
    /lib64/ld-linux-x86-64.so.2 (0x0000564feff78000)
user@computer:~$ ls /usr/local/lib
libassuan.la        libgcrypt.so         libgpg-error.so.0       libksba.so.8.11.4
libassuan.so        libgcrypt.so.20      libgpg-error.so.0.17.0  libnpth.la
libassuan.so.0      libgcrypt.so.20.0.4  libksba.la              libnpth.so
libassuan.so.0.7.2  libgpg-error.la      libksba.so              libnpth.so.0
libgcrypt.la        libgpg-error.so      libksba.so.8            libnpth.so.0.0.5

以前に手動でインストールしたgnupgのバージョンをアンインストールすることで、この問題を解決しました

./configure
make
make uninstall
4
nhoj

以下を実行すると、私にとってはうまくいくように見えました。上記のコメントに感謝します。

Gpgが隠れている場所を見つける

$ which gpg
> /usr/local/bin/gpg

Fix'r Up

which gpgからのパスをポイントし、その上でldconfigを実行します。

$ Sudo ldconfig /usr/local/bin/gpg

ldconfigは何も返さず、その後動作し始めました。

確認する

$ gpg --version
> gpg (GnuPG) 2.2.17
> libgcrypt 1.8.4
> ...
0
CTS_AE