У меня Fedora 20, и я пытаюсь установить программное обеспечение сканера, 32-битное, для моего принтера Epson DX5000. Я получаю сообщения:
[root@localhost:/home/Harry]$ rpm -Uvh iscan-2.29.3-1.usb0.1.ltdl3.i386.rpm
error: Failed dependencies:
libltdl.so.3 is needed by iscan-2.29.3-1.usb0.1.ltdl3.i386
[root@localhost:/home/Harry]$ yum install libltdl.so.3
Loaded plugins: langpacks, refresh-packagekit
No package libltdl.so.3 available.
Error: Nothing to do
[root@localhost:/home/Harry]$
Я пробовал искать в Интернете libltdl.so.3
, но результаты оказались очень запутанными. Может быть, это часть другого пакета? Пожалуйста, кто-нибудь может мне помочь?
Спасибо за ответы до сих пор. Я думаю, это еще один случай, когда я спросил X, когда мне следовало спросить Y. Я уже установил libtool
(см. снимок экрана). Так что теперь вопрос: почему он говорит, libltdl.so.3 is needed
что libtool
уже установлен? Если только я снова не понял, что происходит.
[root@localhost:/home/Harry]$ yum install libtool-ltdl
Loaded plugins: langpacks, refresh-packagekit
Package libtool-ltdl-2.4.2-23.fc20.i686 already installed and latest version
Nothing to do
[root@localhost:/home/Harry]$
Также:
[root@localhost:/home/Harry]$ yum install libltdl7
Loaded plugins: langpacks, refresh-packagekit
No package libltdl7 available.
Error: Nothing to do
[root@localhost:/home/Harry]$
Мета-вопрос: стоит ли мне также изменить название?
решение1
Всякий раз, когда вы сталкиваетесь с отсутствующим файлом библиотеки, таким как этот, вы можете использовать команду, repoquery
чтобы узнать, какой пакет его предоставляет.
Пример
$ repoquery -q -f */libltdl.so*
libtool-ltdl-devel-0:2.4.2-16.fc19.x86_64
libtool-ltdl-0:2.4.2-23.fc19.x86_64
libtool-ltdl-devel-0:2.4.2-16.fc19.i686
libtool-ltdl-0:2.4.2-23.fc19.i686
libtool-ltdl-devel-0:2.4.2-23.fc19.i686
libtool-ltdl-0:2.4.2-16.fc19.i686
libtool-ltdl-devel-0:2.4.2-23.fc19.x86_64
libtool-ltdl-0:2.4.2-16.fc19.x86_64
Мне нравится немного смягчать запрос и искать любые .so
файлы, поэтому я заменил .3
out на *
.
ПРИМЕЧАНИЕ:Вышеприведенный пример запрашивает ( -q
) файлы ( -f
), соответствующие шаблону ( */libltdl.so*
). Первая звездочка важна, поскольку запрос ищет совпадения с полными путями файлов в RPM-файлах, хранящихся в различных репозиториях YUM, о которых знает ваша система.
решение2
Вам необходимо установить libtool-ltdl:
yum install libtool-ltdl
Источник:https://www.google.com/search?name=f&hl=en&q=libltdl.so.3
решение3
Это сработало у меня на Fedora 21 (x64):
rpm -Uvh iscan-2.30.1-1.usb0.1.ltdl3.x86_64.rpm --nodeps
ln -s /usr/lib64/libltdl.so.7 /usr/lib64/libltdl.so.3
iscan, похоже, отлично работает с новой библиотекой