1 (2019-01-12 07:29:52 отредактировано o1hk)

Не открывается приложение "Calibre".

Spoiler

Консоль: user
[user@localhost ~]$ calibre
Traceback (most recent call last):
  File "/bin/calibre", line 19, in <module>
    from calibre.gui_launch import calibre
  File "/usr/lib/calibre/calibre/__init__.py", line 22, in <module>
    from calibre.startup import winutil, winutilerror
  File "/usr/lib/calibre/calibre/startup.py", line 92, in <module>
    set_translators()
  File "/usr/lib/calibre/calibre/utils/localization.py", line 199, in set_translators
    lang = get_lang()
  File "/usr/lib/calibre/calibre/utils/localization.py", line 84, in get_lang
    from calibre.utils.config_base import prefs
  File "/usr/lib/calibre/calibre/utils/config_base.py", line 12, in <module>
    from calibre.utils.lock import ExclusiveFile
  File "/usr/lib/calibre/calibre/utils/lock.py", line 17, in <module>
    from calibre.utils.monotonic import monotonic
  File "/usr/lib/calibre/calibre/utils/monotonic.py", line 7, in <module>
    raise RuntimeError('Failed to load the monotonic module with error: ' + err)
RuntimeError: Failed to load the monotonic module with error: /usr/lib/calibre/calibre/plugins/monotonic.so: wrong ELF class: ELFCLASS32
/usr/lib/calibre/calibre/ptempfile.py:29: RuntimeWarning: Parent module 'calibre' not found while handling absolute import
  import shutil

Spoiler

Консоль: root
[root@localhost ~]# calibre
Traceback (most recent call last):
  File "/usr/bin/calibre", line 19, in <module>
    from calibre.gui_launch import calibre
  File "/usr/lib/calibre/calibre/__init__.py", line 22, in <module>
    from calibre.startup import winutil, winutilerror
  File "/usr/lib/calibre/calibre/startup.py", line 92, in <module>
    set_translators()
  File "/usr/lib/calibre/calibre/utils/localization.py", line 199, in set_translators
    lang = get_lang()
  File "/usr/lib/calibre/calibre/utils/localization.py", line 84, in get_lang
    from calibre.utils.config_base import prefs
  File "/usr/lib/calibre/calibre/utils/config_base.py", line 12, in <module>
    from calibre.utils.lock import ExclusiveFile
  File "/usr/lib/calibre/calibre/utils/lock.py", line 17, in <module>
    from calibre.utils.monotonic import monotonic
  File "/usr/lib/calibre/calibre/utils/monotonic.py", line 7, in <module>
    raise RuntimeError('Failed to load the monotonic module with error: ' + err)
RuntimeError: Failed to load the monotonic module with error: /usr/lib/calibre/calibre/plugins/monotonic.so: wrong ELF class: ELFCLASS32
/usr/lib/calibre/calibre/ptempfile.py:29: RuntimeWarning: Parent module 'calibre' not found while handling absolute import
  import shutil

Заглянул в Центр Управления Магеей:

Spoiler

http://images.vfl.ru/ii/1547265240/82342b63/24917043_m.png

Сплошная непонятка. Пакеты х86_64 не хотят устанавливаться.
Приложение установлено давным-давно. Просто, я им долгое время не пользовался.
Странная какая-то система. Поудалял всё. Установил по-новой:

Spoiler

http://images.vfl.ru/ii/1547267193/204c5468/24917124_m.png

Всё заработало. Как могло такое получиться? Устанавливал приложение под архитектуру х86_64. Оно каким-то образом перескочило на i586.
Быть может, кто-нибудь объяснит сложившуюся ситуацию?

...bis dat, qui cito dat...
рецензии стихов
[Mageia 8 x86_64 - KDE]

2

Обычная ситуация для дистрибутивов, в репах которых находятся одновременно все версии пакета для релиза. Зачем так сделано - вопрос к разработчикам, но сомневаюсь, что они даже найдут внятное логическое объяснение этой фичи. Просто так исторически сложилось.

ROSA Desktop Fresh R11.1 EE 2016.1 Desktop 64-бит

3

TopE⇓ пишет:

Обычная ситуация для дистрибутивов, в репах которых находятся одновременно все версии пакета для релиза.

TopE, в корне неверное объяснение

o1hk⇓ пишет:

Как могло такое получиться? Устанавливал приложение под архитектуру х86_64.

Потому что у Вас, впрочем как и у меня, одновременно подключен  репо под 32 и под 64 архитектуру, некоторым пакетам иногда требуются 32-х битные версии. Возможно при обновлении произошёл сбой.

xxblx⇓ пишет:

К сожалению, есть много приложений, имеющих только 32-битные версии и без 32-битных библиотек они работать не будут. По этому 32-битные источники добавляются вместе с 64-битными, чтобы пользователь мог по необходимости доустановить 32-битные библиотеки в 64-битную систему. Актуально, например, для пользователей Skype или игроков, многие проприетарные игры имеют только 32-битную версию и требуют соответствующие библиотеки.
Конфликта опасаться не надо. Когда вы делаете

Консоль: root
[root@localhost ~]# urpmi пакет

По умолчанию urpmi всегда отдаст предпочтение пакету с архитектурой, как у вашей системы, т.е. 64-битному. И лишь в том случае, если 64-битного пакета не найдет, поставит 32-битный.
В общем-то, если вам не нужны 32-битные репозитории, можете просто отключить.

Цитата от xxblx отсюда: приёмы взаимодействия с системой управления пакетами urpmi
отключить - это значит снять галочку в МСС с 32-х битных репо, но не удалит, при необходимости их можно заново активировать(включить)

4

Пришедшее по сети обновление Calibre до версии 3.27.1 установилось нормально:

Spoiler

http://images.vfl.ru/ii/1547339076/37e97d83/24930249_m.png

Версия 2.85.1 соответственно, была удалена.
Пока Calibre работает нормально.

...bis dat, qui cito dat...
рецензии стихов
[Mageia 8 x86_64 - KDE]

5

algri14⇓ пишет:

объяснение

верное. В дистрибутивах, которые хранят в репе только последний апдейт такая ситуация практически исключена. Пакетный менеджер просто не сможет дать к выбору предыдущий апдейт ввиду его отсутствия. А вот техническая причина уже может быть всяко разная - от глюков самого пакетного менеджера в плане отслеживания зависимостей до кривых рук самих разрабов (тут ещё больше поле для деятельности). В любом случае нет ничего страшного в этом- практически всегда это лечится переустановкой пакета нужной версии, если разрабы не накасячили с зависимостями.

ROSA Desktop Fresh R11.1 EE 2016.1 Desktop 64-бит