Цель: есть QNAP TS-459 с прошивкой 4.2.0 Build 20160311. Нужен python3 + pip + pyvenv, после установки «песочницы» надо в нее установить поддержку mysql + lxml + django ну и кучку по мелочи.
Мои навыки: на линукс-системах что-то могу делать, но считаю что линукса не знаю. С компиляцией из исходников столкнулась первый раз, про кросс-компиляцию раньше даже не слышала
Попытка № 1 (прошивка была постарее и в качестве package manager-а использовался Optware ):
python устанавила из веб-интерфейса App Center (там 3.5.0). Необходимые для lxml библиотеки libxml2 и libxslt устанавила менеджером Optware. Результат: lxml не устанавливается, ругается что нет libxml2 и libxslt.
Продолжение этой попытки: установка libxml2 и libxslt из исходников успеха не принесла. Также как и компиляция lxml из исходников. Гугление привело к такому результату: вроде как для версии lxml 3.* требуется последняя версия libxml2 и либо python 2.7.11 либо python 3.5.1. Ну а python 3.5.1 через package manager недоступен.
Попытка № 2 (система после предыдущих эксперементов):
Компиляция python 3.5.1 из исходников. Нет результата, т.к. проблемы с библиотекой ssl, а без нее не ставится pip.
Попытка № 3: (ОС переустановлена, в качестве package manager-а используется Entware-ng, скачаны include-файлы из дев-пакетов http://pkg.entware.net/binaries/x86-64/ ... ude.tar.gz)
С помощью Entware-ng установлено все необходимое для нативной компиляции.
Настроена среда кросс-компиляции на убунте. После плясок с исправлением путей с usr на opt таки получилось собрать 25 ipk-файлов (думала не выйдет, неделю мучалась) и все они успешно установились на qnap-е. Результат: pip не работает из-за проблем с pyexpat.
Нативная компиляция python 3.5.1 из исходников: по-прежнему нет модуля _ssl, ну и как следствие pip-а. Хотя python3-openssl_3.5.1-3_x86-64.ipk был же успешно установлен, не понимаю почему проблема! Ошибка из лога:
Код: Выделить всё
/opt/bin/ld: /opt/lib/libcrypto.a(o_names.o): relocation R_X86_64_32 against `.text' can not be used when making a shared object; recompile with -fPIC
/opt/lib/libcrypto.a: error adding symbols: Bad value
Пробовала
Код: Выделить всё
export CXXFLAGS="$CXXFLAGS -fPIC"
но не помогло.