Error while loading shared libraries libqtcore so 4

Вот, проблема возникла :idiot2: В Ubuntu 18.04, а ранее в 16.04 да 14.04 эта утилита работала нормально, но после того, как после неудачного обновления с 18.04 до 20.04 пришлось переустанавливать, она перестала работать: - вот весь результат :idiot2: Куда копать? Есть вообще возможность сделать работоспособным сабж?
  • Печать

Страницы: [1]   Вниз

Тема: Не работает epson printer utility в 20.04.1 (принтер L312)  (Прочитано 3152 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн
CyrusEugene

Вот, проблема возникла :idiot2: В Ubuntu 18.04, а ранее в 16.04 да 14.04 эта утилита работала нормально, но после того, как после неудачного обновления с 18.04 до 20.04 пришлось переустанавливать, она перестала работать:

cyruseugene@cyruseugene-P35-DS3L:~$ epson-printer-utility
epson-printer-utility: error while loading shared libraries: libQtCore.so.4: cannot open shared object file: No such file or directory
Перечитал ту тему, но это мне ничего не дало; пробовал с той темы выполнять:

cyruseugene@cyruseugene-P35-DS3L:~$ which epson-printer-utility
/usr/bin/epson-printer-utility
+

cyruseugene@cyruseugene-P35-DS3L:~$ /usr/bin/epson-printer-utility
/usr/bin/epson-printer-utility: error while loading shared libraries: libQtCore.so.4: cannot open shared object file: No such file or directory
+

cyruseugene@cyruseugene-P35-DS3L:~$ /opt/epson-printer-utility/bin/epson-printer-utility
/opt/epson-printer-utility/bin/epson-printer-utility: error while loading shared libraries: libQtCore.so.4: cannot open shared object file: No such file or directory
— вот весь результат :idiot2: Куда копать? Есть вообще возможность сделать работоспособным сабж? Перевод тоже мне ни о чём не говорит:

epson-printer-utility: ошибка при загрузке общих библиотек: libQtCore.so.4: не удается открыть файл общего объекта: нет такого файла или каталога

+

/ usr/bin/epson-printer-utility: ошибка при загрузке общих библиотек: libQtCore.so.4: не удается открыть файл общих объектов: нет такого файла или каталога

+

/opt/epson-printer-utility/bin/epson-printer-utility: error while loading shared libraries: libQtCore.so.4: cannot open shared object file: No such file or directory

оттуда
В общем, полный швах; причём, как на стационарнике, так и на ноуте всё вышесказанное выглядит аналогично (в обоих случаях переустанавливал с 18.04.5 на 20.04.1) :(

« Последнее редактирование: 13 Октября 2020, 09:22:36 от CyrusEugene »


Оффлайн
andytux

Есть вообще возможность сделать работоспособным

От твоей сноровки зависит. Гарантий нет, но можно попробовать.

Куда копать?

Туда:

error while loading shared libraries: libQtCore.so.4: cannot open shared object file: No such fileСказано, нет файла. Проверил?
Похоже это библиотека Qt4, а в новых версиях — Qt5. Если тебе удастся их «совместить», то есть шанс, что заработает. Хорошо, если это единственная библиотека, а то может быть придется «притянуть» весь Qt4.
Только сейчас обратил внимание:

/usr/bin/epson-printer-utility
/opt/epson-printer-utility/bin/epson-printer-utility
Так где все-таки она находится?
Если еще не забоялся, то посмотри, что такое этот epson-printer-utility, бинарник или может быть скрипт.
Если скрипт, то может изучение его прольет свет.
В общем случае, писать скрипт-врапер, для запуска этой утилиты, в котором указать путь до требуемых библиотек.
Библиотеки просто скопировать. Если утилита в /opt, то в некотором смысле лучше. Туда-же копировать библиотеки, чтобы они не смешивались с системными.

« Последнее редактирование: 13 Октября 2020, 10:51:44 от andytux »


Оффлайн
CyrusEugene

Сказано, нет файла. Проверил?

Визуально есть:

+

(двойной щёлк по нему ЛКМ ничего не даёт).

В общем случае, писать скрипт-врапер, для запуска этой утилиты, в котором указать путь до требуемых библиотек.
Библиотеки просто скопировать. Если утилита в /opt, то в некотором смысле лучше. Туда-же копировать библиотеки, чтобы они не смешивались с системными.

Ни слова не понял (инженерного ума у меня нет) :idiot2: И да, печать работает нормально, ставил драйвер epson-inkjet-printer-201401w_1.0.0-1lsb3.2_amd64.deb, а у этой утилиты любой из трёх файлов epson-printer-utility, будь то_1.0.0-1lsb3.2_amd64.deb, 1.0.2-1lsb3.2_amd64 либо 1.1.1-1lsb3.2_amd64 не работают — выдают то, о чём сказал в заглавном посте :(


Оффлайн
andytux

Да пока сильно понимать не требуется, просто прочитать.
На первом скриншоте ясно написано, /usr/bin/epson-printer-utility — символическая ссылка, да и иконка «ссылочная».
На втором скриншоте, /opt/epson-printer-utility/bin/epson-printer-utility — реальный исполняемый файл.

Визуально есть:

Я имел ввиду файл библиотеки — libQtCore.so.4. Если его нет, то взять откуда-нибудь, например из бэкапа. Ведь прежде чем обновлять систему, ты сделал бэкап?
Поместить эту библиотеку, например в /opt/epson-printer-utility. Написать скрипт, который укажет где взять эту библиотеку и запустит утилиту.
Сделать еще следующее.
Открыть терминал, перейти в каталог /opt/epson-printer-utility/bin, выполнить:

ldd epson-printer-utilityБудет выведен список всех библиотек, которые нужны этой утилите.
Напротив которых будет «not found», значит этих библиотек утилита найти не может.

двойной щёлк по нему ЛКМ ничего не даёт

Вижу, что ничего не получится.


Оффлайн
Pilot6

Не работает на самом деле, так как основан на qt4, а в 20.04 стоит qt5.

qt4 можно поставить, а можно подождать пока портируют эту штуку на qt5.

А вообще эта утилита не такая уж и нужная. Прочищать головки можно с помощью escputuil.

Я в личке не консультирую. Вопросы задавайте на форуме.


Оффлайн
CyrusEugene

Ведь прежде чем обновлять систему, ты сделал бэкап?

Я не знаю, что это такое, хотя и пользуюсь ubuntu более 10 лет, начиная с 10.04. А переустанавливать пришлось потому, что при обновлении с 18.04 до 20.04 произошли неразрешимые проблемы со звуком (см. ссылки в моём заглавном посте).

Открыть терминал, перейти в каталог /opt/epson-printer-utility/bin, выполнить:
ldd epson-printer-utility

Результат:

cyruseugene@cyruseugene-P35-DS3L:~$ /opt/epson-printer-utility/bin
bash: /opt/epson-printer-utility/bin: Это каталог
cyruseugene@cyruseugene-P35-DS3L:~$ ldd epson-printer-utility
ldd: ./epson-printer-utility: Нет такого файла или каталога
Всё, приехали :idiot2:

а можно подождать пока портируют эту штуку на qt5

Брал там, как видно, выпуск 10.2020; а так да, подождать, пока новая версия не появится, которая будет работать с этой самой qt5.

qt4 можно поставить

Как поставить — не знаю, а при неудачном обновлении ОС (см.выше) как-то руки не дошли проверить работу epson printer utility.

Прочищать головки можно с помощью escputuil

cyruseugene@cyruseugene-P35-DS3L:~$ sudo apt install escputuil
[sudo] пароль для cyruseugene:
Чтение списков пакетов… Готово
Построение дерева зависимостей       
Чтение информации о состоянии… Готово
E: Невозможно найти пакет escputuil
Всё, приехали :idiot2:

« Последнее редактирование: 14 Октября 2020, 14:21:02 от CyrusEugene »


Оффлайн
CyrusEugene

А так?
sudo apt install escputil

Пардон, ошибся. Этот самый escputil мне не годится. Мне надо графический.


Оффлайн
andytux

« Последнее редактирование: 14 Октября 2020, 09:43:03 от andytux »


Оффлайн
CyrusEugene

Здесь похоже знают

Премного благодарю, выполнил по ссылке выше:

sudo apt-add-repository ppa:rock-core/qt4
+
sudo apt update
+
sudo apt install qt4-default
+
sudo apt install qt5-default
+
sudo apt install libodbc1 libqt4-dbus libqt4-declarative libqt4-designer libqt4-dev libqt4-dev-bin libqt4-help libqt4-network libqt4-opengl libqt4-opengl-dev libqt4-qt3support libqt4-script libqt4-scripttools libqt4-sql libqt4-sql-odbc libqt4-svg libqt4-test libqt4-xml libqt4-xmlpatterns libqtcore4 libqtdbus4 libqtgui4 qdbus qt4-linguist-tools qt4-qmake qtcore4-l10n
и всё заработало:

как на стационарнике, так и на ноуте; это как раз то, что мне нужно было :coolsmiley:


  • Печать

Страницы: [1]   Вверх

Forum rules
Before you post please read how to get help. Topics in this forum are automatically closed 6 months after creation.

but-it-does-move

Level 1
Level 1
Posts: 39
Joined: Mon Apr 18, 2016 12:42 pm

[SOLVED] epson-printer-utility doesn’t work after Mint 19.3 to 20 upgrade

My epson-printer-utility debian package which worked fine up through Mint 19.3 doesn’t work in Mint 20. I get this error message:

Code: Select all

epson-printer-utility: error while loading shared libraries: libQtCore.so.4: cannot open shared object file: No such file or directory]

I don’t know a lot about this stuff, but I suspect it’s a qt4/qt5 problem.

I think I need the epson-printer-utility_1.1.1-1lsb3.2_amd64.deb package. After upgrading Mint from 19.3 to 20, my previously installed epson-printer-utility_1.0.2-1lsb3.2_amd64.deb package downloaded from Epson stopped working.

When I go to this web site http://download.ebz.epson.net/dsc/sear … FromResult and click the «Download» button for «Epson Printer Utility» version 1.1.1 dated 06-24-2020, I get the message «The page you requested is unavailable» As far as I can see, there is no way to contact Epson and tell them about it. The «Printer Driver» and «Scanner Driver» downloads seem to work fine.

I’ve been searching for the version 1.1.1 package with no success. Maybe I just have poor search skills. Anyone know where I can get it? Thanks.

Last edited by LockBot on Wed Dec 28, 2022 7:16 am, edited 2 times in total.

Reason: Topic automatically closed 6 months after creation. New replies are no longer allowed.

but-it-does-move

Level 1
Level 1
Posts: 39
Joined: Mon Apr 18, 2016 12:42 pm

Re: epson-printer-utility doesn’t work after Mint 19.3 to 20 upgrade

Post

by but-it-does-move » Mon Jul 13, 2020 12:38 pm

Well, Epson has made some progress on their web site. The download button for the deb package epson-printer-utility_1.1.1-1lsb3.2_amd64.deb now works and the date for the package is 07-13-2020. However, the file size for the new downloaded deb package is only 1.3MB compared to my previously working package which has a file size of 3.4MB. I’m suspicious.

While the package installs OK, running the epson-printer-utility command generates the same error I got previously:

Code: Select all

$ epson-printer-utility
epson-printer-utility: error while loading shared libraries: libQtCore.so.4: cannot open shared object file: No such file or directory

Does anyone know if the 4 in libQtCore.so.4 refers to qt4 and if so, is there a way to install libQtCore.so.4? Thanks.

but-it-does-move

Level 1
Level 1
Posts: 39
Joined: Mon Apr 18, 2016 12:42 pm

Re: epson-printer-utility doesn’t work after Mint 19.3 to 20 upgrade

Post

by but-it-does-move » Fri Sep 11, 2020 1:49 pm

Sorry to say I haven’t solved it.

I have a machine with Trisquel 8 on it that uses the Linux 4.4 kernel and I think it has QT4 rather than QT5 on it as well. That machine will run the epson printer utility successfully. I continue to suspect that it’s a QT4/QT5 issue. I don’t know if it’s possible to run both QT4 and QT5 on Linux Mint 20, but my guess is if that were possible, it would fix the problem.

I don’t know how anyone can use an Epson printer without the software to clean the heads and perform a nozzle check. If there’s a way to contact Epson and discuss this problem with them, I don’t know what it is.

Good luck!

Topic: error while loading shared libraries : libQtCore.so.4 ?!?!?  (Read 36390 times)

Hello,

I’ve just installed Code::Blocks 8.02 on my Ubuntu 8.04 and I thought that I installed it like previous installation but this time, when I compile the Qt demo «Quit button» project, no errors, but when I execute, I’ve this error message :
«error while loading shared libraries: libQtCore.so.4: cannot open shared object file: No such file or directory»
 :(
I don’t really understand cause during the installation, it ask to give the root path of Qt, thing that I’ve done
/usr/local/Trolltech/Qt-4.4.3
I can’t give any other path cause it is searching for libQtCore. So here it founds it. But during execution, it does not. Why ?
I really don’t understand. I don’t know how to return to the isntallation window where the Qt root path, include, libs…. are configured ? Where it is ?

thanks for help

RV

« Last Edit: February 13, 2009, 09:50:27 am by rv2931 »


Logged


Up !
I really have a problem, and I don’t find the solution. I have reconfigured all linkers, with absolute path, tried all path possibilities for search directories and it doesn’t work… :o(
the compilation gives no error but it fails at the beginning ef the execution

/home/my_script_path: error while loading shared librairies: libQtCore.so.4: cannot open shared object file: No such file or directory

My Linker pathes are :
/usr/local/Trolltech/Qt-4.4.3/lib/libQtCore.so & /usr/local/Trolltech/Qt-4.4.3/lib/libQtGui.so

and my codeis just the demo code created automaticaly by Code::Blocks for Qt4 projects.

  :? :( :? :( :?
thanks

RV


Logged


You probably have a dead link from «libQtCore.so» to «libQtCore.so.4» in a standard lib directory.

If that’s the case remove it and try again.

If it still does not run,this wiki-article might help you.

It’s about C::B not finding it’s libs, if not in systems standard directory, but the same can happen for any other application.

Instead of «/usr/local/lib» you will most likely need to use «/usr/local/Trolltech/Qt-4.4.3/lib».

« Last Edit: February 13, 2009, 10:10:21 am by jens »


Logged


You were right.
I added a file Qt.so.conf in the /etc/ldcon.so.d/ directory in whih one I added the lines :

# Qt librairies directory
/usr/local/Trolltech/Qt-4.4.3/lib

Then I laucnh the comand : sudo ldconfig
and my project works now.
Great thanks

RV


Logged


Скомпилил библиотеку qt-x11-opensource-src-4.3.1 с дефолтовыми параметрами в директорию ‘/usr/local/Trolltech/Qt-4.3.1’. Подружил qt c сode::blocks, в котором создал qt-проект. Приложение скомпилировалось без ошибок, но при попытке запуска выкинуло ошибку:

error while loading shared libraries: libQtCore.so.4: cannot open shared object file: No such file or directory

Проверил связи, действительно две неизвестных:

        linux-gate.so.1 =>  (0xffffe000)
        libQtCore.so.4 => not found
        libQtGui.so.4 => not found
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb7ec9000)
        libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb7ea4000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb7e99000)
        libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7d4f000)
        /lib/ld-linux.so.2 (0xb7fcd000)

Файлы присутствуют в ‘/usr/local/Trolltech/Qt-4.3.1/lib’

-rw-r—r— 1 root root      727 2008-02-15 17:55 libQtCore.la
-rw-r—r— 1 root root      709 2008-02-15 17:55 libQtCore.prl
lrwxrwxrwx 1 root root       18 2008-02-15 17:55 libQtCore.so -> libQtCore.so.4.3.1
lrwxrwxrwx 1 root root       18 2008-02-15 17:55 libQtCore.so.4 -> libQtCore.so.4.3.1
lrwxrwxrwx 1 root root       18 2008-02-15 17:55 libQtCore.so.4.3 -> libQtCore.so.4.3.1
-rwxr-xr-x 1 root root  1778984 2008-02-15 17:55 libQtCore.so.4.3.1
-rw-r—r— 1 root root 13605316 2008-02-15 17:55 libQtCore.so.4.3.1.debug
-rw-r—r— 1 root root      884 2008-02-15 17:59 libQtGui.la
-rw-r—r— 1 root root      897 2008-02-15 17:59 libQtGui.prl
lrwxrwxrwx 1 root root       17 2008-02-15 17:59 libQtGui.so -> libQtGui.so.4.3.1
lrwxrwxrwx 1 root root       17 2008-02-15 17:59 libQtGui.so.4 -> libQtGui.so.4.3.1
lrwxrwxrwx 1 root root       17 2008-02-15 17:59 libQtGui.so.4.3 -> libQtGui.so.4.3.1
-rwxr-xr-x 1 root root  8704028 2008-02-15 17:59 libQtGui.so.4.3.1
-rw-r—r— 1 root root 68852802 2008-02-15 17:59 libQtGui.so.4.3.1.debug

Как решать такую проблему? Возможно есть какая-то глобальная переменная, хранящая пути к библиотекам?

Пробовал создть файл ‘/etc/ld.so.conf.d/qt4.conf’ с добавлением в него строки ‘/usr/local/Trolltech/Qt-4.3.1/lib’, но эффекта никакого. Размешение ссылок на эти библиотеки в /usr/local/lib тоже никакого эфекта не дало.

Ошибка error while loading shared libraries

Новые и опытные пользователи Linux могут сталкиваться с ошибкой error loading shared libraries во время запуска программ, также с ней могут сталкиваться программисты и все желающие компилировать программное обеспечение в своей системе. Эта ошибка в дословном переводе означает что возникла проблема во время загрузки общей библиотеки. О том что такое библиотеки и зачем они нужны вы можете узнать из статьи библиотеки Linux.

В этой же статье мы рассмотрим что значит ошибка error while loading shared libraries более подробно, а главное, как ее решить.

Что означает error while loading shared libraries?

Даже если вы не компилируете свои программы, то вы можете увидеть ошибку error while loading shared libraries: имя_библиотеки: cannot open shared object file: No such file or directory достаточно часто во время установки новых программ не через пакетный менеджер или программ, предназначенных для другого дистрибутива. Как я уже говорил, она возникает потому, что система не может найти библиотеку.

А вот почему ее нельзя найти и загрузить, это уже интересно. Этому может быть несколько причин:

  • Библиотека не установлена в системе;
  • Библиотека установлена, но неизвестно куда;
  • Библиотека установлена правильно, но имеет не ту версию.

При решении проблемы мы будем руководствоваться именно этими причинами и пытаться их решить.

Как исправить ошибку?

1. Библиотека не установлена

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

Например, если нам не хватает библиотеки libfuse2.so, то мы можем найти ее в Ubuntu такой командой:

sudo apt search libfuse2

Затем осталось только установить ее:

sudo apt install libfuse2

Если перед вами стоит задача собрать программу из исходников, то вам понадобится не только установить саму библиотеку, но и заголовочные файлы для нее:

sudo apt install libfuse-dev

И так для любой библиотеки. Но это не всегда помогает.

2. Библиотека находится не в том каталоге

Бывает что библиотека установлена, мы установили ее или она поставлялась вместе с программой, но ошибка как была, так и есть. Причиной этому может быть то, что загрузчик Linux не может найти библиотеку.

Поиск библиотек выполняется по всех папках, которые указаны в конфигурационных файлах /etc/ld.conf.d/. По умолчанию, это такие каталоги, как /usr/lib, /lib, /usr/lib64, /lib64. Если библиотека установлена в другой каталог, то, возможно, это и есть причина проблемы.

Вы можете посмотреть какие библиотеки сейчас доступны загрузчику с помощью команды:

Найти, где находится ваша библиотека можно с помощью команды locate. Например, нас интересует библиотека librtfreader.so:

Теперь мы знаем, что она находится по адресу /opt/kingsoft/wps-office/office6/. А значит, для работы программы необходимо сделать чтобы загрузчик библиотек ее видел. Для этого можно добавить путь в один из файлов /etc/ld.so.conf.d/ или же в переменную LD_LIBRARY_PATH:

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

ln -s /opt/kingsoft/wps-office/office6/librtfreader.so /usr/lib/librtfreader.so

3. Неверная версия библиотеки

Эта причина ошибки довольно часто встречается при использовании программ не для вашего дистрибутива. Каждая библиотека имеет дополнительную версию, так называемую ревизию, которая записывается после расширения .so. Например, libav.so.1. Так вот, номер версии меняется всякий раз, когда в библиотеку вносятся какие-либо исправления.

Часто возникает ситуация, когда в одном дистрибутиве программа собирается с зависимостью от библиотеки, например, libc.so.1, а в другом есть только libc.so.2. Отличия в большинстве случаев здесь небольшие и программа могла бы работать на второй версии библиотеки. Поэтому мы можем просто создать символическую ссылку на нее.

Например, библиотеки libusb-1.0.so.1 нет. Но зато есть libusb-1.0.so.0.1, и мы можем ее использовать:

Для этого просто создаем символическую ссылку на библиотеку:

sudo ln -s /usr/lib/libusb-1.0.so.0.1 /usr/lib/libusb-1.0.so.1

В большинстве случаев программа не заметит подмены и будет работать, как и ожидалось. Также для решения этой проблемы можно попытаться найти нужную версию библиотеки в интернете для своей архитектуры и поместить ее в папку /usr/lib/ или /usr/lib64/. Но после этого желательно обновить кэш:

Выводы

В этой статье мы рассмотрели почему возникает ошибка Error while loading shared libraries, а также как ее решить. В большинстве случаев проблема решается довольно просто и вы получите работоспособную программу. Надеюсь, эта информация была полезной для вас.

Источник

Понравилась статья? Поделить с друзьями:
  • Error while loading shared libraries libpng12 so 0
  • Error while loading shared libraries libpcre so 1
  • Error while loading shared libraries libopencl so 1
  • Error while loading shared libraries libnss3 so
  • Error while loading shared libraries libncurses so 5