Я пытаюсь запустить программу с использованием 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: невозможно открыть общий объектный файл: такого файла нет или> каталог
blockquote>Когда я пытаюсь создать символическую ссылку на 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
[ 1110] https://launchpad.net/~ubuntu-wine/+archive/ppa
Я использовал эти шаги, и мое приложение работало
http: //www.noobslab.com/2012/04/install-wine-152-on-ubuntu.html
Не совсем точно, почему, но, похоже, игнорируется ошибка, если вы используете 1.5. [ 1113]
Решение этой проблемы не должно быть более сложным, чем:
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.
Другой вариант, который работал для меня, это просто переустановить libp11-kit0
sudo apt-get install --reinstall libp11-kit0
Вы, наверное, догадались, что вам нужно получить файл /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
. Спасибо!
Это решение работает для 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-битную библиотеку, если вы ее создали. 1113]
Решение:
Вот как это исправить. Обратите внимание, что я использую 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
и выполните: [ 1122]
/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 и ошибка исчезнет.