Вино не может найти gnome-keyring-pkcs11.so

Я пытаюсь запустить программу с использованием Wine на Ubuntu LTS 12.04 64 bit

Когда я делаю это, я получаю следующее сообщение об ошибке...

/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

Есть ли пакет, который устанавливает как 32-битную, так и 64-битную версию?

ОБНОВИТЬ:

Похоже, ошибка в Ubuntu w / 1.4

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

Я использовал эти шаги, и мое приложение работало

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

Не знаю точно, почему, но, похоже, вы игнорируете ошибку, если вы используете 1.5.

4 ответа

Решение

Это решение работает для Ubuntu 12.04 64bit

У меня изначально была эта ошибка:

/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

Тогда я сделал ln -s ссылка на 64-битную библиотеку и получила эту ошибку: /usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: неправильный класс ELF: ELFCLASS64

примечание: перед тем как начать, удалите ссылку на 64-битную библиотеку, если вы ее создали.

Решение:

Вот как это исправить. Обратите внимание, что я использую Crossover 11.3, который использует Wine 1.4, поэтому он также должен работать для пользователей вина.

Дополнительную информацию о getlibs можно найти здесь.

1) Установите getlibs:

UODATE 3/2013: загрузите getlibs с https://github.com/spaetzlecode/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

2) Установите 32-битную библиотеку:

sudo /usr/local/bin/getlibs -p gnome-keyring:i386

Если вы получили это сообщение об ошибке:

Failed to download file http://mirrors.kernel.org/ubuntu/pool/main/g/gnome-keyring/gnome-keyring_3.4.1-4ubuntu1~precise1_i386.deb

затем скачайте файл прямо здесь:

wget https://launchpad.net/~gnome3-team/+archive/gnome3/+files/gnome-keyring_3.4.1-4ubuntu1~precise1_i386.deb

и делать:

/usr/local/bin/getlibs -i "path-of-the-file"/gnome-keyring_3.4.1-4ubuntu1~precise1_i386.deb

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

Теперь запустите приложение Crossover/Wine и ошибка исчезнет.

Решение этой проблемы не должно быть более сложным, чем:

sudo apt-get install libp11-kit-gnome-keyring

для 64-битных машин. Или же

sudo apt-get install libp11-kit-gnome-keyring:i386

для 32-битных машин.

По крайней мере, так обстоит дело в 13.04, и я не вижу причин, почему это не будет справедливо в 12.04/12.10.

Вы, наверное, догадались, что вам нужно получить файл /usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so, Этот файл является частью пакета u38ntu i386, который не устанавливается непосредственно в вашу систему 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/

Это случилось со мной на 12.10 с wine-1.5.29и i386 gnome-keyring версия была помечена 3.6.1-0ubuntu1_i386и это сработало для меня.

Пожалуйста, обратите внимание, что если эти инструкции не подходят для вас, возможно, стоит ли упомянуть ваш релиз Ubuntu и gnome-keyring версия. Спасибо!

Другой вариант, который работал для меня, это просто переустановить libp11-kit0

sudo apt-get install --reinstall libp11-kit0
Другие вопросы по тегам