Установить путь к пакетам дистрибутивов Python для автоинструментов в биткойне Yocto - PullRequest
5 голосов
/ 03 июня 2019

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

### tizonia.bb
SUMMARY = "Tizonia Library"
DESCRIPTION = "Tizonia"
LICENSE = "LGPL-3.0"
LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=e6a600fd5e1d9cbde2d983680233ad02"

SRC_URI = "git://github.com/tizonia/tizonia-openmax-il.git;protocol=https"
SRCREV = "9004bc40b89eeafb04b28fbb2b772e47dd62fdc9"

S = "${WORKDIR}/git"

DEPENDS = "python-dev python-setuptools mediainfo log4c python-pip python-soundcloud"

inherit autotools ccache pkgconfig python-dir pythonnative

RDEPENDS_${PN} = "libstdc++ dbus boost libgcc mediainfo log4c libspotify python-pip python-soundcloud"

### python-soundcloud.bb
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=31fa3a9dc818e0087893d63583d2d21a"

SRC_URI[md5sum] = "40c1d32afd019ed11ec1fbee3e84e31f"
SRC_URI[sha256sum] = "aad2003592cec945f835f158f7b41ba8bf805c5738a2fcc5629668ea1df653d5"

DEPENDS = "${PYTHON_PN}-modules"

PYPI_PACKAGE = "soundcloud"

inherit pypi setuptools

RDEPENDS_${PN} = "${PYTHON_PN}-modules"

На шаге do_configure, когда вызывается скрипт configure, яполучите это сообщение об ошибке:

| checking for python2.7... (cached) /home/developer/build-webos-ose/BUILD/sysroots/x86_64-linux/usr/bin/python-native/python
| checking for a version of Python >= '2.1.0'... yes
| checking for a version of Python >= '2.7'... yes
| checking for the distutils Python package... yes
| checking for Python include path... -I/home/developer/build-webos-ose/BUILD/sysroots/raspberrypi3/usr/include/python2.7
| checking for Python library path... -L/home/developer/build-webos-ose/BUILD/sysroots/raspberrypi3/usr/lib -lpython2.7
| checking for Python site-packages path... /home/developer/build-webos-ose/BUILD/sysroots/x86_64-linux/usr/lib/python2.7/site-packages
| checking python extra libraries... -lpthread -ldl  -lpthread -lutil -lm
| checking python extra linking flags... -Xlinker -export-dynamic
| checking consistency of all components of python development environment... yes
| checking python module: soundcloud... no
| configure: error: failed to find required module soundcloud

Как видите, configure использует sysroots/x86_64-linux/usr/lib/python2.7/site-packages для поиска modules, но модули установлены в sysroots/raspberrypi3/usr/lib/python2.7/site-packages.

Как установить путь site-packages в вызове autoconf / configure, чтобы он указывал на правильный путь?

1 Ответ

0 голосов
/ 04 июня 2019

Имейте в виду, что скрипт настройки выполняется на HOST и ищет инструменты, необходимые для компиляции на HOST, поэтому вам нужно ЗАВИСИТЬ от пакета python-soundcloud-NATIVE (вам может понадобитьсяиспользовать BBCLASSEXTEND для существования этого пакета), что означает, что то, что устанавливает этот пакет, будет автоматически заполнено в recipe-sysroot-native / x86_64-linux / usr / lib / python2.7 / site-packages (так как он зависит от него)это то, что скрипт конфигурации будет читать автоматически.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...