Wine 找不到 gnome-keyring-pkcs11.so

Jac*_*kie 62 wine gnome-keyring

我正在尝试在 Ubuntu LTS 12.04 64 位上使用 wine 启动程序

当我这样做时,我收到以下错误消息...

/usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so:/usr/lib/i386-linux->gnu/pkcs11/gnome-keyring-pkcs11.so:无法打开共享对象文件:否这样的文件或>目录

当我尝试符号链接 64 位库时,当然,我得到以下信息......

jackie@jackie-Latitude-E6410:~/tmp/AC$ wine TTG.exe
p11-kit: couldn't load module: /usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: 
/usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: wrong ELF class: ELFCLASS64
wine: Unhandled page fault on read access to 0x00000000 at address (nil) (thread 0009), 
starting debugger...
err:seh:raise_exception Unhandled exception code c0000005 flags 0 addr 0x7bc47aac
Run Code Online (Sandbox Code Playgroud)

是否有安装 32 位和 64 位的软件包?

更新:

似乎是 Ubuntu 1.4 中的一个错误

https://launchpad.net/~ubuntu-wine/+archive/ppa

我使用了这些步骤并且我的应用程序有效

http://www.noobslab.com/2012/04/install-wine-152-on-ubuntu.html

不确定确切原因,但如果您使用 1.5,它似乎会忽略该错误。

and*_*mes 47

对此的解决方案不需要比以下更复杂:

sudo apt-get install libp11-kit-gnome-keyring
Run Code Online (Sandbox Code Playgroud)

对于 64 位机器。或者

sudo apt-get install libp11-kit-gnome-keyring:i386
Run Code Online (Sandbox Code Playgroud)

对于 32 位机器。

至少在 13.04 是这种情况,我认为没有理由在 12.04/12.10 中不成立。

  • 在 Ubuntu 14.04 上为我修复了它 (4认同)
  • 我觉得奇怪的是,上面有更多选票的 2 个答案不起作用,在 12.04 到 13.04 中不起作用。但是安装您在此处指出的 wine 所说的丢失的实际包是有效的。很遗憾我不得不做上面提到的那些然后在底部看到这个有效的答案。 (3认同)
  • 该软件包在 Ubuntu 12.04 中不可用。 (3认同)
  • apt-get install gnome-keyring 对我有用,适用于 64 位 12.04 (2认同)
  • 安装 libp11-kit-gnome-keyring:i386 不能解决 Ubuntu 13.10 中的问题 (2认同)

小智 42

此解决方案适用于 Ubuntu 12.04 64 位

我最初有这个错误:

/usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: /usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)

然后我做了一个ln -s到 64 位库的链接,得到了这个错误:/usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: wrong ELF class: ELFCLASS64

注意:在开始之前删除指向 64 位库的链接(如果您创建了它)。

解决方案:

这是修复它的方法。注意我使用的是 Crossover 11.3,它使用 wine 1.4,所以它也适用于 wine 用户。

可以在此处找到与 getlibs 相关的更多信息。

1)安装getlibs:

UODATE 3/2013:从https://github.com/spaetzlecode/getlibs下载 getlibs

wget https://raw.github.com/spaetzlecode/getlibs/master/getlibs
sudo chown root:root getlibs
sudo chmod +x getlibs
sudo mv -n getlibs /usr/local/bin
Run Code Online (Sandbox Code Playgroud)

2)安装32位库:

sudo /usr/local/bin/getlibs -p gnome-keyring:i386
Run Code Online (Sandbox Code Playgroud)

如果您收到此消息错误:

Failed to download file http://mirrors.kernel.org/ubuntu/pool/main/g/gnome-keyring/gnome-keyring_3.4.1-4ubuntu1~precise1_i386.deb
Run Code Online (Sandbox Code Playgroud)

然后在此处下载文件:

wget https://launchpad.net/~gnome3-team/+archive/gnome3/+files/gnome-keyring_3.4.1-4ubuntu1~precise1_i386.deb
Run Code Online (Sandbox Code Playgroud)

并做:

/usr/local/bin/getlibs -i "path-of-the-file"/gnome-keyring_3.4.1-4ubuntu1~precise1_i386.deb
Run Code Online (Sandbox Code Playgroud)

3)制作符号链接:

sudo mkdir -p /usr/lib/i386-linux-gnu/pkcs11/ 
sudo ln -s /usr/lib32/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so /usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so
Run Code Online (Sandbox Code Playgroud)

现在运行你的 Crossover/Wine 应用程序,错误消失了。

  • getlibs 是不必要的,您可以使用 apt 从您的 sources.list 中的存储库下载(无需安装)deb:`apt-get download gnome-keyring:i386`。我将提供有关如何仅使用 apt、ar 和 tar 解决此问题的答案,但是我似乎无法回答此问题。 (9认同)
  • 对于那些在创建符号链接时出错的人,在 /usr/lib/i386-linux-gnu 中创建一个名为 pkcs11 的目录,然后只有你创建符号链接。我以前也遇到过同样的问题。 (5认同)
  • 让我建议将链接放在 /usr/local/lib/... (2认同)
  • vaab 的解决方案似乎简单得多,并且在 12.04 中为我工作。我建议先试试。 (2认同)

vaa*_*aab 14

您可能已经猜到您需要获取文件/usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so。这个文件是 i386 ubuntu 包的一部分,它不会直接安装在你的 amd64 系统上。但是你可以很容易地得到它:

cd $(mktemp -d)                      ## create and go to a temporary temp dir
apt-get download gnome-keyring:i386  ## download the i386 version of gnome-keyring
ar x gnome-keyring*.deb              ## Uncompress the package
tar xf data.tar.gz
## Finally move the file you need to the desired location:
sudo mv usr/lib/i386-linux-gnu/pkcs11 /usr/lib/i386-linux-gnu/
Run Code Online (Sandbox Code Playgroud)

这发生在我身上的一个12.10wine-1.5.29,和i386gnome-keyring版本标记3.6.1-0ubuntu1_i386,这为我工作。

请注意,如果这些说明不适合您,也许您应该提及您的 ubuntu 版本和gnome-keyring版本。谢谢 !

  • `tar xf data.tar.gz` 应该是 `tar xf data.tar.xz`,至少在我的电脑上...谢谢 (3认同)