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


62

Я намагаюся запустити програму з використанням вина на Ubuntu LTS 12.04 64 біт

Коли я це роблю, я отримую таке повідомлення про помилку ...

/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.


Я спробував оновити Rosetta Stone 4.1.10 до 4.1.15 вручну за допомогою патчу оновлення, і я отримав таку ж помилку до і після оновлення wine1.4 до wine1.5. Насправді це, здавалося, нічого не виправило. Чи потрібно повністю видалити існуючу винну виправлення та створити нову повністю?
TheBicentennialMan

Відповіді:


42

Це рішення працює для 64-бітного Ubuntu 12.04

Я спочатку мала цю помилку:

/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, який використовує вино 1.4, тому він також повинен працювати для користувачів вина.

Додаткову інформацію, пов’язану з гетлібами, можна знайти тут .

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 і помилки не буде.


5
Для тих, хто має помилку при створенні символьної посилання, роблять каталог з іменем pkcs11 в / usr / lib / i386-linux-gnu, тоді ви лише створюєте символьне посилання. У мене були ті ж проблеми і раніше.

2
дозвольте запропонувати покласти посилання в / usr / local / lib / ...
rzr

Це працює для вас 12.10? Для мене це позбавляється від помилки, але моя програма все ще не запускається.
sup

9
getlibs непотрібно, ви можете використовувати APT для завантаження (без установки) Дебс зі сховищ в вашому sources.list: apt-get download gnome-keyring:i386. Я б дав відповідь, як це виправити, використовуючи лише apt, ar та tar, однак, здається, я не можу відповісти на це запитання.
Оскар Корц

2
Рішення vaab здається набагато простішим, і він працював для мене з 12.04. Я пропоную спробувати це спершу.
Ламбарт

46

Рішення цього не повинно бути більш складним, ніж:

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.


2
Мені дивно, що 2 відповіді вище з більшою кількістю голосів не працювали, не працювали з 12.04 по 13.04. Але встановлення фактичної упаковки, яку вино, як ви вказали тут, працювало, не вистачало. Соромно, що мені довелося зробити ті, про які було сказано вище, щоб потім побачити цю відповідь внизу, яка працює.
Луїс Альварадо

3
цей пакет недоступний в Ubuntu 12.04.
rik-shaw

2
apt-get install gnome-keyring працював на мене, для 64-розрядних 12.04
lukewendling

2
Встановлення libp11-kit-gnome-keyring: i386 не виправляє проблему в Ubuntu 13.10
malisokan

4
Виправлено це для мене на Ubuntu 14.04
panmari

14

Ви, мабуть, здогадалися, що вам потрібно отримати файл /usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so. Цей файл є частиною пакета ubuntu 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, і це працює для мене.

Зверніть увагу, що якщо ця інструкція не підходить для вас, можливо, вам слід згадати про ваш випуск і gnome-keyringверсію ubuntu . Дякую !


3
tar xf data.tar.gzмає бути tar xf data.tar.xz, принаймні , на моєму комп'ютері ... спасибі
toto_tico

1
насправді це не спрацювало, usr/lib/i386-linux-gnu/pkcs11у папці даних немає імені, названого . Натомість є два каталоги в usr/lib: usr/lib/gnome-keyringandusr/lib/ubiquity
toto_tico

@toto_tico: очевидно, ваш gnome-keyringпакет не такий, як мій. Чи можете ви надати більше інформації про свою версію та gnome-keyringверсію Ubuntu ? Цю інформацію я додав у свою відповідь для порівняння.
vaab

Дякую @vaab. Я нарешті знайшов тут своє рішення . Я не можу розмістити рішення, оскільки я новачок у цій спільноті.
toto_tico

1
Працював для мене з 12.04, дякую!
Ламбарт

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.