Новости:

Форуму исполнилось 12 лет!

Мы в матрице .
Мы в телеге .

Главное меню

Установка Calibre

Автор puyamolina, 07 декабря 2013, 04:05:07

« назад - далее »

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

puyamolina

Здравствуйте, друзья  :).

Сегодня решил установить Calibre, чтобы хранить и читать свои многочисленные книжки.

Скачал пакет calibre-1.14.0-x86_64-1alien.txz из хранилища AilenBOB. Установил командой:

upgradepkg --install-new calibre-1.14.0-x86_64-1alien.txz

При запуске вот такой вывод:

Loading ICU failed with:  libicudata.so.49: cannot open shared object file: No such file or directory
Loading ICU failed with:  libicudata.so.49: cannot open shared object file: No such file or directory
Traceback (most recent call last):
  File "/usr/bin/calibre", line 19, in <module>
    from calibre.gui2.main import main
  File "/usr/lib64/calibre/calibre/gui2/__init__.py", line 21, in <module>
    from calibre.utils.date import UNDEFINED_DATE
  File "/usr/lib64/calibre/calibre/utils/date.py", line 13, in <module>
    from dateutil.tz import tzlocal, tzutc, EPOCHORDINAL
ImportError: No module named dateutil.tz


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

Подскажите, пожалуйста, что можно (или нужно) сделать.

bormant

#1
Цитата: puyamolina от 07 декабря 2013, 04:05:07Скачал пакет calibre-1.14.0-x86_64-1alien.txz из хранилища AilenBOB.
чего-то не того, чего-то не достает.
Если загрузить http://slackware.osuosl.org/slackware64-14.1/slackware/MANIFEST.bz2 и поискать в нём, скажем, при помощи bzgrep или less, станет ясно, что не хватает пакета:
||   Package:  ./l/icu4c-51.2-x86_64-1.txz
-rwxr-xr-x root/root  22323064 2013-06-04 23:52 usr/lib64/libicudata.so.51.2

Стоп, так у вас Slackware64 версии 14.0 или 14.1? Где брали пакет calibre?
Если 14.1, то нужно взять пакет для 14.1:
http://www.slackware.com/~alien/slackbuilds/calibre/pkg64/14.1/calibre-1.14.0-x86_64-1alien.txz
Если 14.0, то нужно взять пакет для 14.0:
http://www.slackware.com/~alien/slackbuilds/calibre/pkg64/14.0/calibre-1.14.0-x86_64-1alien.txz
Потому что в 14.0, согласно http://slackware.osuosl.org/slackware64-14.0/slackware64/MANIFEST.bz2 именно то, что нужно для 14.0:
||   Package:  ./l/icu4c-49.1.2-x86_64-1.txz
-rwxr-xr-x root/root  17955440 2012-08-02 16:02 usr/lib64/libicudata.so.49.1.2

Они собраны из одних и тех же исходных текстов, но в собранный файл попадают зависимости той системы, где собирали. Поэтому и предоставлены для загрузки собранные (бинарные) версии для разных систем.

DrTor

Там еще вроде зависимости есть :
"Full list of Slackware 14.0/current dependencies for calibre: BeautifulSoup,
  dnspython, podofo, pycrypto, pysetuptools, python-apsw, python-cssselect,
  python-cssutils, python-dateutil, python-imaging, python-lxml,
  python-mechanize, python-netifaces and python-psutil."
http://www.slackware.com/~alien/slackbuilds/ChangeLog.txt

bormant

DrTor,
есть то они есть, только сборочные а не рантайм. Не верите? Посмотрите внимательно на запись журнала изменений после указанного списка, сказано там, что python-apsw наряду с прочим питонячим хозяйством вкомпилён в calibre.

DrTor

bormant,
Я понял так ,что это для 13.37. Опять же http://taper.alienbase.nl/mirrors/people/alien/slackbuilds/calibre/pkg64/14.1/   лежит *.dep , но возможно это просто мой поверхностный взгляд, поскольку calibre я не пользовался.

puyamolina

Цитата: bormant от 07 декабря 2013, 22:08:50Стоп, так у вас Slackware64 версии 14.0 или 14.1? Где брали пакет calibre?
Если 14.1, то нужно взять пакет для 14.1:
http://www.slackware.com/~alien/slackbuilds/calibre/pkg64/14.1/calibre-1.14.0-x86_64-1alien.txz

У меня Slackware64 версии 14.1

Я скачивал именно по этой ссылке. Но все равно при запуске вывод в терминале как в моем стартовом сообщении (начале темы).

Graf

Цитата: puyamolina от 08 декабря 2013, 21:46:30
У меня Slackware64 версии 14.1
Я скачивал именно по этой ссылке. Но все равно при запуске вывод в терминале как в моем стартовом сообщении (начале темы).

Попробуй, переустанови с диска слаки   l/icu4c-51.2-x86_64-1.txz

bormant

puyamolina,
скажите, у вас команда
md5sum calibre-1.14.0-x86_64-1alien.txz
выполненная в каталоге с загруженным пакетом, что выводит
16e076931adfddf3b765a148d54bb43a  calibre-1.14.0-x86_64-1alien.txz
или
8247b327b489bf660e3b26ae873f5b9e  calibre-1.14.0-x86_64-1alien.txz
?

bormant

Цитата: DrTor от 08 декабря 2013, 01:16:49понял так ,что это для 13.37
Так тогда он в 13.37 и собирался, потом вышли 14.0, 14.1, но ничего с тех пор не менялось, потому и ссылка на старую запись, которая ещё от 13.37.

bormant

#9
Добрался до машинки со Slackware64-14.1, чтобы проверить.
Цитата: DrTor от 08 декабря 2013, 01:16:49понял так ,что это для 13.37
Всё таки правы вы, зависимости, перечисленные в .dep, нужно устанавливать дополнительно. Я упустил из виду, что в 13.37 был python 2.6, в то время как calibre требовал 2.7, поэтому его пакет собирался со своим питоном и всеми питоньими зависимостями внутри под 2.7.
Начиная с 14.0 python-2.7 стал штатным и необходимость собирать внутренний 2.7 с внутренними зависимостями отпала, пакеты-зависимости собираются с системным питоном и ставятся обычным образом.

Цитата: puyamolina от 08 декабря 2013, 21:46:30У меня Slackware64 версии 14.1
Я скачивал именно по этой ссылке.
Увы, не могу согласиться. Пакет, загруженный по ссылке для 64-14.1 и установленный в Slackware64-14.1 не содержит ошибки:
Loading ICU failed with:  libicudata.so.49: cannot open shared object file: No such file or directory
Loading ICU failed with:  libicudata.so.49: cannot open shared object file: No such file or directory

Для исправления ситуации:
# mkdir /tmp/calibre-dl
# cd /tmp/calibre-dl
# echo "
http://www.slackware.com/~alien/slackbuilds/BeautifulSoup/pkg64/14.1/BeautifulSoup-4.1.1-x86_64-1alien.tgz
http://www.slackware.com/~alien/slackbuilds/calibre/pkg64/14.1/calibre-1.14.0-x86_64-1alien.txz
http://www.slackware.com/~alien/slackbuilds/dnspython/pkg64/14.1/dnspython-1.10.0-x86_64-1alien.tgz
http://www.slackware.com/~alien/slackbuilds/podofo/pkg64/14.1/podofo-0.9.2-x86_64-1alien.tgz
http://www.slackware.com/~alien/slackbuilds/pycrypto/pkg64/14.1/pycrypto-2.6-x86_64-1alien.tgz
http://www.slackware.com/~alien/slackbuilds/pysetuptools/pkg64/14.1/pysetuptools-0.6c11-x86_64-1alien.tgz
http://www.slackware.com/~alien/slackbuilds/python-apsw/pkg64/14.1/python-apsw-3.7.17_r1-x86_64-1alien.tgz
http://www.slackware.com/~alien/slackbuilds/python-cssselect/pkg64/14.1/python-cssselect-0.7.1-x86_64-1alien.tgz
http://www.slackware.com/~alien/slackbuilds/python-cssutils/pkg64/14.1/python-cssutils-0.9.9-x86_64-1alien.tgz
http://www.slackware.com/~alien/slackbuilds/python-dateutil/pkg64/14.1/python-dateutil-1.5-x86_64-1alien.tgz
http://www.slackware.com/~alien/slackbuilds/python-imaging/pkg64/14.1/python-imaging-1.1.7-x86_64-1alien.tgz
http://www.slackware.com/~alien/slackbuilds/python-lxml/pkg64/14.1/python-lxml-3.2.1-x86_64-1alien.tgz
http://www.slackware.com/~alien/slackbuilds/python-mechanize/pkg64/14.1/python-mechanize-0.2.5-x86_64-1alien.tgz
http://www.slackware.com/~alien/slackbuilds/python-netifaces/pkg64/14.1/python-netifaces-0.8-x86_64-1alien.tgz
http://www.slackware.com/~alien/slackbuilds/python-psutil/pkg64/14.1/python-psutil-0.6.1-x86_64-1alien.tgz
" | wget -i-
# upgradepkg --install-new --reinstall *t?z

puyamolina

Цитата: bormant от 09 декабря 2013, 17:16:16скажите, у вас команда
Код: [Выделить]

md5sum calibre-1.14.0-x86_64-1alien.txz

выполненная в каталоге с загруженным пакетом, что выводит
16e076931adfddf3b765a148d54bb43a  calibre-1.14.0-x86_64-1alien.txz
или
8247b327b489bf660e3b26ae873f5b9e  calibre-1.14.0-x86_64-1alien.txz
?

Выводит:

8247b327b489bf660e3b26ae873f5b9e  calibre-1.14.0-x86_64-1alien.txz

bormant

#11
puyamolina,
По поводу источника ошибки есть у меня одно подозрение, для его проверки нужен вывод
# ls -o /usr/lib64/libicudata.so*
# ldd /usr/lib64/libicudata.so*
# grep -FR /libicudata.so /var/log/packages/
# ldd  /usr/lib64/calibre/calibre/plugins/icu.so
# md5sum /usr/lib64/calibre/calibre/plugins/icu.so
Если в выводе предпоследней команды будет строка libicudata.so.49 или последняя команда покажет сумму, отличающуюся от effd77deaf4daccd7c10a80e56aafee2, значит у вас установлен пакет НЕ для Slackware64-14.1.

Выполнение показанных выше 4-х команд (загрузка calibre и его зависимостей и принудительная их переустановка) исправит установку calibre, каталог /tmp/calibre-dl можно будет удалить.