libjpeg установлен, но не находится

Форум программистов
uncle-z00m
Сообщения: 37
Зарегистрирован: 24 апр 2017, 00:34

Сообщение uncle-z00m » 24 апр 2017, 00:52

Приветствую всех присутствующих.
С линухом на вы. Пытаюсь поставить на nas qnap-412 софтину sopds. https://github.com/mitshel/sopds/blob/master/README.md
Для нормальной работы она хочет какую-то базу данных, питон3 и немного библиотек.
С базой данных есть штатный MySQL 5 и даже веб-админка для него. Тут проблем вроде не возникло.
Поставил Entware, нашёл на этом форуме. Куча библиотек, что установилась, не находилась раньше с ipkg.
Питон поставил. PIP для него - тоже разыскал, поставил.
Запускаю скрипт подтягивания нужных зависимостей, он должен ставить:

Код: Выделить всё

 Требуется Python не ниже версии 3.3 (используется атрибут zlib.Decompressor.eof, введенный в версии 3.3)
    Django 1.9 (для Python 3.3 необходимо устанавливать Django 1.8: https://code.djangoproject.com/ticket/25868)
    Pillow 2.9.0
    apscheduler 3.3.0
    django-constance[database] 1.3
    lxml


Джанго в порядке, шедулер тоже. При установке pillow сначала ругался на отсутствие zlib. Поискал-поискал, установил zlib-dev. Эта ошибка ушла.
Появилась следующая, ровно на том же месте с тем же текстом, но с libjpeg:

Код: Выделить всё

    The headers or library files could not be found for jpeg,
    a required dependency when compiling Pillow from source.


libjpeg установлен

Код: Выделить всё

Package libjpeg (9a-1) installed in root is up to date.


Возможно, не находится libjpeg.h в папке /opt/include, но это чисто предположение.
Подскажите, пожалуйста, как лечить? Искать этот .h? libjpeg-dev - такого нету...
с линуксом разбираюсь урывками, не всё понятно, а тут ещё и nas-версия, ограниченная в возможностях.

Аватара пользователя
Zyxmon
Администратор
Сообщения: 1912
Зарегистрирован: 09 авг 2015, 15:33

Сообщение Zyxmon » 24 апр 2017, 08:46

Если все делаете по инструкции - https://github.com/Entware-ng/Entware-n ... on-modules и не выходит, то нужно патчить исходники pillow. Поддержку по нативной компиляции мы не предоставляем. По кросс-компиляции (если перейдете) - спрашивайте.

uncle-z00m
Сообщения: 37
Зарегистрирован: 24 апр 2017, 00:34

Сообщение uncle-z00m » 26 апр 2017, 03:40

решил пересобрать libjpeg.
версия 9 не пошла. аwk ругался. gawk ругался так, что я снёс его обратно.
скачал версию 6. Конфигуре прошла, мейк прошла, а вот "мейк тест" требует glibc 2.7, хоть тресни.
на gnu.org - не поддерживает архитектуру armv5tel.
Не подскажете, где брать?
или ключ какой мейку поставить?
Спасибо.

Nikolka00
Сообщения: 1
Зарегистрирован: 28 ноя 2015, 07:48

Сообщение Nikolka00 » 26 апр 2017, 03:50

странно конечно все
причем здесь libjpeg и libjpeg.h
тут скорее всего нужно ставить libjpeg-dev
либо скачать сырцы, скомпилить и указать явным образом

как то так
либы
export LDFLAGS=-L/nexus/target/lib -L/madplay/target/lib
хидеры
export CPPFLAGS=-I/madplay/target/include -I/opensource/zlib/zlib-1.2.3

а вообще нужно искать имя файла libjpeg.h в пакетах через dpkg или apt-file, надеюсь в справке найдете как пользоваться

под каждую архитектуру свои сырцы и собранные пакеты\\это касается про пакеты из реп\\которые в свою очередь уже ОТТЕСТИРОВАНЫ и готовы к работе, в отличии от оригиналов, которые возможно надо будет патчить, если найдете пакет в дебиан под х86_64, а собираете под мипсел, то вам нужен ...-dev с мипсела
в этом случае либо работаем под чрут или как выше скачиваем, разархивируем и указываем явным образом где находятся зависимости

либо так как пример, в ОДНУ строчку
LIBS="-L/opt/stb/mipsel-linux/lib" CPPFLAGS="-I/opt/stb/mipsel-linux/usr/include -I/opt/stb/Phase14.2/output/host/usr/include -I/opt/stb/Phase14.2/output/target/usr/include -I/opt/stb/mipsel-linux/include" LDFLAGS="-L/opt/stb/mipsel-linux/usr/lib -L/opt/stb/Phase14.2/output/host/usr/lib" ./configure --host=mipsel-linux --prefix=/opt/stb/Phase14.2/output/host/usr

libjpeg9-dev

Код: Выделить всё

https://packages.debian.org/search?suite=sid&section=all&arch=any&searchon=contents&keywords=jpeglib.h

Код: Выделить всё

/usr/include/jpeglib.h 	libjpeg62-dev [не sparc], libjpeg62-turbo-dev [не ia64, s390], libjpeg8-dev, libjpeg9-dev [не ia64, s390] 
Последний раз редактировалось Nikolka00 26 апр 2017, 10:07, всего редактировалось 1 раз.

Аватара пользователя
Zyxmon
Администратор
Сообщения: 1912
Зарегистрирован: 09 авг 2015, 15:33

Сообщение Zyxmon » 26 апр 2017, 09:52

Nikolka00 писал(а):Источник цитаты тут скорее всего нужно

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

uncle-z00m писал(а):Источник цитаты решил пересобрать

Распакуйте же архив с хедерами и используйте переменные среды из скрипта для сборки. И это не нужно будет делать.

uncle-z00m
Сообщения: 37
Зарегистрирован: 24 апр 2017, 00:34

Сообщение uncle-z00m » 28 апр 2017, 15:40

Zyxmon писал(а):Источник цитаты Распакуйте же архив с хедерами и используйте переменные среды из скрипта для сборки

Архив с хедерами - это архив с исходником libjpeg?
Распаковал, там много *.h, но jibjpeg.h отдельно нет.
Про переменные среды совсем не понял.

Аватара пользователя
Zyxmon
Администратор
Сообщения: 1912
Зарегистрирован: 09 авг 2015, 15:33

Сообщение Zyxmon » 28 апр 2017, 15:50

uncle-z00m писал(а):Источник цитаты Архив с хедерами - это архив с исходником libjpeg?
Распаковал, там много *.h, но jibjpeg.h отдельно нет.
Про переменные среды совсем не понял.

Нет! Вы читаете ответы? Я же Вам дал ссылку на инструкцию, там все и написано. Или же Вы ангелький язык не понимаете? Тогда с переводчиком читайте.

uncle-z00m
Сообщения: 37
Зарегистрирован: 24 апр 2017, 00:34

Сообщение uncle-z00m » 06 май 2017, 21:36

Не. В сотый раз перечитал, ангельский чутка читаю. По той инструкции ничего не получается.

Короче, нашёл через поиск волшебную фразу:

Код: Выделить всё

python3 setup.py build_ext --debug

И по выводу отследил а) какие директории он опрашивает б) чё ему надо.
И знаете, почему я не мог найти для библиотеки libjpeg файл исходников libjpeg.h? Потому что надо было искать (внезапно) jpeglib.h !!!
А ещё jconfig.h и jmorecfg.h. Я подсунул искомые файлы по одному из опрашиваемых путей /usr/local/include и вуаля, pillow для питона скомпилировался, а потом и установился. Насколько всё хорошо, пока не знаю, в работе ещё не видел, там следующая часть марлезонского балета.

Ему помимо "Подушечки" нужен ещё lxml. Пошёл по тому же пути. Ищется файл xmlversion.h, а ещё кучу h-файлов в каталогах libxml, libxslt и libexslt.
Я их ему подсунул в каталог src, внутри каталога с исходниками для питона, туда, где он искал.
(Вопрос по ходу, а если бы я не знал конкретно, в каком каталоге исходники - например, если выполнять скрипт автоустановки, он тогда сам качает, сам куда-то распаковывает, сам пытается компилировать - куда можно было бы сунуть эти папки? В текущий каталог? В /usr/local/include? ).
Короче, он всё схавал, но вот что выдал по итогу нескольких часов шуршания:

Код: Выделить всё

[~/li/lxml-3.7.3] #  python3 setup.py build_ext --debug
Building lxml version 3.7.3.
Building without Cython.
ERROR: b'/bin/sh: xslt-config: command not found\n'
** make sure the development packages of libxml2 and libxslt are installed **

Using build configuration of libxslt
running build_ext
building 'lxml.etree' extension
arm-openwrt-linux-gnueabi-gcc -Wno-unused-result -Wsign-compare -DNDEBUG -O2 -pipe -march=armv5te -mtune=xscale -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -mfloat-abi=soft -O2 -pipe -march=armv5te -mtune=xscale -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -mfloat-abi=soft -DNDEBUG -fno-inline -O2 -pipe -march=armv5te -mtune=xscale -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -mfloat-abi=soft -DNDEBUG -fno-inline -I/media/ware4/Entware-ng.2017.02/staging_dir/target-arm_xscale_glibc-2.23_eabi/opt/include -I/media/ware4/Entware-ng.2017.02/staging_dir/target-arm_xscale_glibc-2.23_eabi/include -I/media/ware4/Entware-ng.2017.02/staging_dir/toolchain-arm_xscale_gcc-6.3.0_glibc-2.23_eabi/usr/include -I/media/ware4/Entware-ng.2017.02/staging_dir/toolchain-arm_xscale_gcc-6.3.0_glibc-2.23_eabi/include -fPIC -g -Isrc/lxml/includes -I/opt/include/python3.6 -c src/lxml/lxml.etree.c -o build/temp.linux-armv5tel-3.6/src/lxml/lxml.etree.o -w
{standard input}: Assembler messages:
{standard input}: Error: open CFI at the end of file; missing .cfi_endproc directive
arm-openwrt-linux-gnueabi-gcc: internal compiler error: Killed (program cc1)
Please submit a full bug report,
with preprocessed source if appropriate.
See <https://dev.openwrt.org/> for instructions.
Compile failed: command 'arm-openwrt-linux-gnueabi-gcc' failed with exit status 4
cc -I/usr/include/libxml2 -c /opt/tmp/xmlXPathInit2me2havu.c -o opt/tmp/xmlXPathInit2me2havu.o
unable to execute 'cc': No such file or directory
*********************************************************************************
Could not find function xmlCheckVersion in library libxml2. Is libxml2 installed?
*********************************************************************************
error: command 'arm-openwrt-linux-gnueabi-gcc' failed with exit status 4
[~/li/lxml-3.7.3] #

 

Н-файлы от libxml2 и libxslt клал в ту же папку, что и раньше. Может, не туда нужно? Тут всё как-то по-другому...
Вот тут я уже совсем не понял, натолкнёте на какую-то мысль?

uncle-z00m
Сообщения: 37
Зарегистрирован: 24 апр 2017, 00:34

Сообщение uncle-z00m » 06 май 2017, 21:37

Снова здорово? Нужны dev-версии libxml2 и libxslt???

Аватара пользователя
Zyxmon
Администратор
Сообщения: 1912
Зарегистрирован: 09 авг 2015, 15:33

Сообщение Zyxmon » 06 май 2017, 23:29

uncle-z00m писал(а):Источник цитаты В сотый раз перечитал, ангельский чутка читаю. По той инструкции ничего не получается.

Так Вы инструкцию так и не выполнили.... Судя по тому, что пишите....


Вернуться в «Собираем софт сами (пакеты, прошивки)»

Кто сейчас на конференции

Всего 2 посетителя :: 0 зарегистрированных, 0 скрытых и 2 гостя (основано на активности пользователей за последние 5 минут)
Больше всего посетителей (162) здесь было 16 ноя 2019, 18:33

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя