Вино не может найти 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