32 位 MSYS2 上的 p11tool 无法加载
p11tool on 32bit MSYS2 cannot load
我正尝试在 32 位 MSYS2 控制台上 运行 p11tool。它说它无法加载 libtasn1-6.dll。谁能知道原因和解决方法?
- Windows 7 64 位专业版
- MSYS2 msys2-i686-20190524.exe
$ pacman -S mingw-w64-i686-gnutls
warning: mingw-w64-i686-gnutls-3.6.8-2 is up to date -- reinstalling
resolving dependencies...
looking for conflicting packages...
Packages (1) mingw-w64-i686-gnutls-3.6.8-2
Total Installed Size: 11.73 MiB
Net Upgrade Size: 0.00 MiB
:: Proceed with installation? [Y/n] Y
(1/1) checking keys in keyring [#####################] 100%
(1/1) checking package integrity [#####################] 100%
(1/1) loading package files [#####################] 100%
(1/1) checking for file conflicts [#####################] 100%
(1/1) checking available disk space [#####################] 100%
:: Processing package changes...
(1/1) reinstalling mingw-w64-i686-gnutls [#####################] 100%
$ pacman -S mingw-w64-i686-libtasn1
warning: mingw-w64-i686-libtasn1-4.14-1 is up to date -- reinstalling
resolving dependencies...
looking for conflicting packages...
Packages (1) mingw-w64-i686-libtasn1-4.14-1
Total Installed Size: 0.48 MiB
Net Upgrade Size: 0.00 MiB
:: Proceed with installation? [Y/n] y
(1/1) checking keys in keyring [#####################] 100%
(1/1) checking package integrity [#####################] 100%
(1/1) loading package files [#####################] 100%
(1/1) checking for file conflicts [#####################] 100%
(1/1) checking available disk space [#####################] 100%
:: Processing package changes...
(1/1) reinstalling mingw-w64-i686-libtasn1 [#####################] 100%
$ p11tool --help
C:/msys32/mingw32/bin/p11tool.exe: error while loading shared libraries: libtasn1-6.dll: cannot open shared object file: No such file or directory
$ whereis libtasn1-6.dll
libtasn1-6: /mingw32/bin/libtasn1-6.dll
我学习了一种技术来判断 MinGW 应用程序实际丢失的文件。 运行CMD命令可以显示准确的错误信息。
对我来说,它说 "The program can't start because "libhogweed-5.dll" is missing from your computer."
我的电脑有libhogweed-4.dll,安装libhogweed无法解决。然后我用谷歌搜索,发现 mingw-w64-x86_64-nettle 包含 "libhogweed-5.dll"。由于它是 64 位的,我将 x86-64 读作 32 位的 i686。
因此解决方案是;
$ pacman -S mingw-w64-i686-nettle
我认为是mingw-w64-i686-gnutls特定版本的问题,稍后会修复。
我正尝试在 32 位 MSYS2 控制台上 运行 p11tool。它说它无法加载 libtasn1-6.dll。谁能知道原因和解决方法?
- Windows 7 64 位专业版
- MSYS2 msys2-i686-20190524.exe
$ pacman -S mingw-w64-i686-gnutls
warning: mingw-w64-i686-gnutls-3.6.8-2 is up to date -- reinstalling
resolving dependencies...
looking for conflicting packages...
Packages (1) mingw-w64-i686-gnutls-3.6.8-2
Total Installed Size: 11.73 MiB
Net Upgrade Size: 0.00 MiB
:: Proceed with installation? [Y/n] Y
(1/1) checking keys in keyring [#####################] 100%
(1/1) checking package integrity [#####################] 100%
(1/1) loading package files [#####################] 100%
(1/1) checking for file conflicts [#####################] 100%
(1/1) checking available disk space [#####################] 100%
:: Processing package changes...
(1/1) reinstalling mingw-w64-i686-gnutls [#####################] 100%
$ pacman -S mingw-w64-i686-libtasn1
warning: mingw-w64-i686-libtasn1-4.14-1 is up to date -- reinstalling
resolving dependencies...
looking for conflicting packages...
Packages (1) mingw-w64-i686-libtasn1-4.14-1
Total Installed Size: 0.48 MiB
Net Upgrade Size: 0.00 MiB
:: Proceed with installation? [Y/n] y
(1/1) checking keys in keyring [#####################] 100%
(1/1) checking package integrity [#####################] 100%
(1/1) loading package files [#####################] 100%
(1/1) checking for file conflicts [#####################] 100%
(1/1) checking available disk space [#####################] 100%
:: Processing package changes...
(1/1) reinstalling mingw-w64-i686-libtasn1 [#####################] 100%
$ p11tool --help
C:/msys32/mingw32/bin/p11tool.exe: error while loading shared libraries: libtasn1-6.dll: cannot open shared object file: No such file or directory
$ whereis libtasn1-6.dll
libtasn1-6: /mingw32/bin/libtasn1-6.dll
我学习了一种技术来判断 MinGW 应用程序实际丢失的文件。 运行CMD命令可以显示准确的错误信息。
对我来说,它说 "The program can't start because "libhogweed-5.dll" is missing from your computer."
我的电脑有libhogweed-4.dll,安装libhogweed无法解决。然后我用谷歌搜索,发现 mingw-w64-x86_64-nettle 包含 "libhogweed-5.dll"。由于它是 64 位的,我将 x86-64 读作 32 位的 i686。
因此解决方案是;
$ pacman -S mingw-w64-i686-nettle
我认为是mingw-w64-i686-gnutls特定版本的问题,稍后会修复。