Не удалось найти ни одного пакета с помощью регулярного выражения libstdC++. So.5 libexpat.so.0 в 32-разрядной версии Ubuntu 12.04.

При установке программного обеспечения, я получил пакеты stdC++ и lib expat не найдены.

prayag@prayag:~/wink$ ./installer.sh 

Wink requires that the following packages be installed to run properly. Please install them and try again.

libstdc++.so.5 libexpat.so.0

Затем я попытался установить выше пакеты через apt-get, но получаю

 prayag@prayag:~/wink$ sudo apt-get install libstdc++.so.5
 Reading package lists... Done
 Building dependency tree       
 Reading state information... Done
 E: Unable to locate package libstdc++.so.5
 E: Couldn't find any package by regex 'libstdc++.so.5'



 prayag@prayag:~/wink$ sudo apt-get install libexpat.so.0 
 Reading package lists... Done 
 Building dependency tree  
 Reading state information... Done 
 E: Unable to locate package libexpat.so.0 
 E: Couldn't find any package by regex 'libexpat.so.0'

Как я могу получить их в 32-битной Ubuntu и заставить установку подмигивать двигаться дальше.

Обновление: как предложено Salem, я сделал

prayag@prayag:~/wink$ sudo apt-get install apt-file
prayag@prayag:~/wink$ apt-file update

## libstdc++
prayag@prayag:~/wink$ apt-file search libstdc++.so.5
libstdc++5: /usr/lib/i386-linux-gnu/libstdc++.so.5
libstdc++5: /usr/lib/i386-linux-gnu/libstdc++.so.5.0.7

prayag@prayag:~/wink$ sudo apt-get install libstdc++5

Аналогично я установил libexpat1 а также libexpat1-dev,

prayag@prayag:~/wink$ apt-file search libexpat.so
lib64expat1: /usr/lib64/libexpat.so.1
lib64expat1: /usr/lib64/libexpat.so.1.5.2
lib64expat1-dev: /usr/lib64/libexpat.so
libexpat1: /lib/i386-linux-gnu/libexpat.so.1
libexpat1: /lib/i386-linux-gnu/libexpat.so.1.5.2
libexpat1-dev: /usr/lib/i386-linux-gnu/libexpat.so

prayag@prayag:~/wink$ sudo apt-get install libexpat1
prayag@prayag:~/wink$ sudo apt-get install libexpat1-dev

Еще подмигивающий установщик говорит мне:

prayag@prayag:~/wink$ ./installer.sh 

Wink requires that the following packages be installed to run properly. Please install them and try again.

libexpat.so.0

1 ответ

Решение

Ошибка Wink не очень понятна, потому что это файлы, которые нужны, а не пакеты, которые вам нужно установить.

Всякий раз, когда вы получаете сообщение об ошибке типа "Я не могу найти randomfile.so", вы можете использовать apt-file искать пакет, который обеспечивает это. Если у вас его нет, вы можете установить его, используя sudo apt-get install apt-file,

Заметка

Поскольку я использую 64-битную систему, вы должны получить другие результаты от моей. Так, где я получаю x86_64-linux-gnu ты должен получить i386-linux-gnu, и вы должны заменить его в каждой из команд ниже

В вашем случае я получаю следующее:

$ apt-file search libstdc++.so.5
libstdc++5: /usr/lib/x86_64-linux-gnu/libstdc++.so.5
libstdc++5: /usr/lib/x86_64-linux-gnu/libstdc++.so.5.0.7

Так что вам нужно установить libstdc++5 пакет, чтобы получить этот файл.

Что касается второго, в моей системе нет точного соответствия:

$ apt-file search libexpat.so
libexpat1: /lib/x86_64-linux-gnu/libexpat.so.1
libexpat1: /lib/x86_64-linux-gnu/libexpat.so.1.5.2
libexpat1-dev: /usr/lib/x86_64-linux-gnu/libexpat.so

Таким образом, вы можете попробовать установить libexpat1 а также libexpat1-dev и посмотрим, согласится ли Wink. Если нет, вы можете попытаться создать символическую ссылку на этот файл (в 32-битной системе измените путь, как описано выше).

$ sudo ln -s /usr/lib/x86_64-linux-gnu/libexpat.so /usr/lib/x86_64-linux-gnu/libexpat.so.0

Обратите внимание, что это может вообще не работать или заставить Wink работать не так, как ожидалось, потому что вы будете использовать другую версию библиотеки, которая ей требуется. В случае, если это не работает, вы должны удалить созданную символическую ссылку:

$ sudo rm /usr/lib/x86_64-linux-gnu/libexpat.so.0
Другие вопросы по тегам