[fedora core3] dependencies
Чтобы их удовлетворить, нужно поставить пакеты с нужными библиотеками.
Если у тебя в /usr/lib файлы есть, а в базе rpm про них ничего нет, то скорее всего ты
поставил библиотеки не из пакетов, а как-то ещё.
ldconfig тут не поможет, разбираться нужно с rpm.
Ты неправильно поставил приложение. Когда ставишь через rpm -i, он тебе расскажет, какие еще пакеты надо доставить.
Что было до установки приложения:
1.
lrwxrwxrwx 1 root root 20 Янв 12 23:06 liblber-2.2.so.7 -> liblber-2.2.so.7.0.6
-rwxr-xr-x 1 root root 48560 Авг 20 05:26 liblber-2.2.so.7.0.6
-rw-r--r-- 1 root root 75466 Авг 20 05:26 liblber.a
lrwxrwxrwx 1 root root 20 Янв 12 23:15 liblber.so -> liblber-2.2.so.7.0.6
2.
lrwxrwxrwx 1 root root 20 Янв 12 23:06 libldap-2.2.so.7 -> libldap-2.2.so.7.0.6
-rwxr-xr-x 1 root root 202976 Авг 20 05:26 libldap-2.2.so.7.0.6
-rw-r--r-- 1 root root 324722 Авг 20 05:26 libldap.a
lrwxrwxrwx 1 root root 22 Янв 12 23:06 libldap_r-2.2.so.7 -> libldap_r-2.2.so.7.0.6
-rwxr-xr-x 1 root root 214000 Авг 20 05:26 libldap_r-2.2.so.7.0.6
-rw-r--r-- 1 root root 355812 Авг 20 05:26 libldap_r.a
lrwxrwxrwx 1 root root 22 Янв 12 23:15 libldap_r.so -> libldap_r-2.2.so.7.0.6
lrwxrwxrwx 1 root root 20 Янв 12 23:15 libldap.so -> libldap-2.2.so.7.0.6
3.
lrwxrwxrwx 1 root root 18 Янв 12 23:04 libstdc++.so.6 -> libstdc++.so.6.0.3
-rwxr-xr-x 1 root root 811744 Окт 26 12:48 libstdc++.so.6.0.3
Пытаюсь ставить приложение. Появляется приведенная выше ошибка.
Добавляю:
lrwxrwxrwx 1 root root 20 Янв 16 19:06 liblber.so.2 -> liblber-2.2.so.7.0.6
lrwxrwxrwx 1 root root 20 Янв 16 19:07 libldap.so.2 -> libldap-2.2.so.7.0.6
lrwxrwxrwx 1 root root 18 Янв 16 19:08 libstdc++.so.5 -> libstdc++.so.6.0.3
Перегружаюсь и ничего не меняется: ошибка не исправляется.
Как все-таки установить ?
P.S.
По косвенным признакам я понял, что
liblber.so.XXX, libldap.so.XXX из пакета openldap-2.2.13-2
libstdc++.so.XXX из пакета libstdc++-3.4.2-6.fc3
Кто подскажет как правильно узнавать какой файл из какого rpm ?
попробуй --nodeps
или из сырцов (что в общем правильней)
У него и получается nodeps
Как ты устанавливал пакет?
Да нет, всё правильно.
> Пытаюсь ставить приложение. Появляется приведенная выше ошибка.
В базе rpm нет упоминания о нужных пакету библиотеках.
> Перегружаюсь и ничего не меняется: ошибка не исправляется.
Ничего удивительного - при перезагрузке содержимое базы rpm не меняется.
> Как все-таки установить ?
Удовлетворить зависимости.
> Кто подскажет как правильно узнавать какой файл из какого rpm ?
Не я
Как ты устанавливал пакет?какой из ?
> Как все-таки установить ?давай подробнее
Удовлетворить зависимости.
Post deleted by
rpm -ivh <sfsdfsdfsfdslkjlfkjglkfjgkljfk>.rpm
Удовлетворить зависимости - значит поставить пакеты, содержащие нужные библиотеки.
т.е. поставить старые версии уже установленных пакетов ?
Такое может быть, если rpm'ка левая.
в fedore есть пакет compat-stdc++ и так далее. Его нужно поставить.
т.е. нужны поставить старые версии уже установленных пакетов.
Вопрос такой: как наебать систему и не ставить старые версии пакетов ?
compat-libstdc++-8-3.3.4.2.i386.rpm
Прекратить наконец наёбывать нас, и объяснить, что ты хочешь на самом деле.
С указанием имён.
compat-openldap-2.1.30-2.i386.rpm
Если файла не хватает какого-либо, конечно, лучше пользоваться надстройкой над rpm, имеющей базу зависимостей. yum из федоры прямо или apt. Или для крайнего случая есть такой хороший сайт rpm.pbone.net там можно rpm по имени файла искать.
спасибо тебе помог
Кто же знал что их так обзовут
compat-libstdc++-8-3.3.4.2.i386.rpm
compat-openldap-2.1.30-2.i386.rpm
и почему они по умолчанию не ставятся ?
как раздраконить rpm пакет, чтобы вытащить нужный файлик ?
а то и mc
rpm -i --prefix=/my/path pakage.rpm
или
rpm -i --badreloc --relocate default-path=/my/path pakage.rpm
P.S.
вроде пробовал так но почему то не получилось.
Правда пытался так поставить старую версию уже установленного пакета, соответственно наверно нужно было --force использовать.
а так можно ? :Нет, так не можно. Это не эквивалентно действию "распаковать архив чтобы выдернуть файл", это вызывает очень много лишних действий. Кроме того, это работает только если пакет полностью relocatable. Я понимаю, что man cpio - это очень страшный man. rpm2tgz
rpm -i --prefix=/my/path pakage.rpm
или
rpm -i --badreloc --relocate default-path=/my/path pakage.rpm
P.S.Далеко не все пакеты relocatable полностью.
вроде пробовал так но почему то не получилось.
Я понимаю, что man cpio - это очень страшный man.не сцать, пользоваться cpio не проблема
Далеко не все пакеты relocatable полностью.--badreloc разве это не решает ?!
Нет, не решает. Полностью это решает только --root, одновременно принося свою порцию гемороя (фактически --root просто делает chroot в самом начале работы. как результат - то место, куда ты делаешь --root должно, например, иметь свои независимые базы данных rpm).
Оставить комментарий
krishtaf
Ставлю приложение и появляется ошибка:ошибка: Неудовлетворенные зависимости:
liblber.so.2 нужен для ...
libldap.so.2 нужен для ...
libstdc++.so.5 нужен для ...
libstdc++.so.5(CXXABI_1.2) нужен для ...
libstdc++.so.5(GLIBCPP_3.2) нужен для ...
libstdc++.so.5(GLIBCPP_3.2.2) нужен для ...
Как нужно ковырять ldconfig чтобы все поставилось ?
Указанные библиотеки присутствуют в /usr/lib и являются симлинками на другие файлы.