Невозможно построить, так как в recipe-sys root - зависимости отсутствуют - PullRequest
0 голосов
/ 02 апреля 2020

Я пытаюсь собрать m xnet 1.6.0 с Yocto (Rocko) для моего 64-битного Armv8-A. Прежде всего, я скачал m xnet с https://downloads.apache.org/incubator/mxnet/1.6.0/. Я сохранил загруженный tar в папке files в одном из слоев. и я включил этот tar-файл в мой m xnet .bb файл, как показано ниже.

m xnet .bb

SUMMARY = "MXNET Package"
SECTION = "libs"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"

PN = 'mxnet'
PV = '1.6.0'

DEPENDS = "openblas opencv gtest gperftools"

SRC_URI := " \
    file://apache-mxnet-src-1.6.0-incubating.tar.gz"

SRC_URI[md5sum] = "76802d6b14cd45c27f063b2bba3c9a14"

S := "${WORKDIR}/apache-${PN}-src-${PV}-incubating"

inherit cmake pkgconfig

OECMAKE_GENERATOR = "Unix Makefiles"

EXTRA_OECMAKE += " -DUSE_SSE=OFF \
-DUSE_CUDA=OFF \
-DUSE_OPENCV=ON \
-DUSE_OPENMP=ON \
-DUSE_MKL_IF_AVAILABLE=OFF \
-DUSE_SIGNAL_HANDLER=ON \
-DUSE_LAPACK=OFF"
  • Затем я собрал его с помощью команды bitbake mnxet . Я получил следующую ошибку.

ОШИБКА:

 -- Detecting CXX compiler ABI info
| -- Detecting CXX compiler ABI info - done
| -- Detecting CXX compile features
| -- Detecting CXX compile features - done
| -- CMAKE_CROSSCOMPILING TRUE
| -- CMAKE_HOST_SYSTEM_PROCESSOR x86_64
| -- CMAKE_SYSTEM_PROCESSOR aarch64
| -- CMAKE_SYSTEM_NAME Linux
| -- CMake version '3.14.1' using generator 'Unix Makefiles'
| -- Performing Test SUPPORT_CXX11
| -- Performing Test SUPPORT_CXX11 - Success
| -- Performing Test SUPPORT_CXX0X
| -- Performing Test SUPPORT_CXX0X - Success
| -- Determining F16C support
| -- Performing Test COMPILER_SUPPORT_MF16C
| -- Performing Test COMPILER_SUPPORT_MF16C - Failed
| -- Could not find OpenBLAS include. Turning OpenBLAS_FOUND off
| -- Could not find OpenBLAS lib. Turning OpenBLAS_FOUND off
| CMake Error at cmake/Modules/FindOpenBLAS.cmake:82 (MESSAGE):
|   Could not find OpenBLAS
| Call Stack (most recent call first):
|   cmake/ChooseBlas.cmake:42 (find_package)
|   CMakeLists.txt:310 (include)
| 
| 
| -- Configuring incomplete, errors occurred!
  • Я зарегистрировался в build/tmp/work/aarch64-poky-linux/openblas/0.3.5-r0/image/opt/openblas/lib и нашел файлы .so и .a.
  • Я заметил, что в build/tmp/work/aarch64-poky-linux/mxnet/1.6.0-r0/recipe-sysroot/lib64 нет папки libopenblas.so или openblas.
  • Я также проверил build/tmp/sysroots-components/aarch64/openblas и обнаружил, что в нем только sysroot-providers, а * 1034 нет * или любую папку opt или lib (я не могу найти файлы, присутствующие в моей папке изображений openblas, как упомянуто выше).

Итак, вопрос в том, как добавить openblas в мой рецепт sys root в м xnet? чтобы он не выдавал не смог найти ошибку openblas?

ps Я мог бы собрать openblas, только если мои .so файлы присутствовали в пути / opt / openblas / lib. Иначе, если я попытаюсь поместить файлы .so в папку just / lib, это приведет к ошибке Files/directories were installed but not shipped in any package.

1 Ответ

0 голосов
/ 03 апреля 2020

Вы можете попытаться добавить

FILES_${PN} = "${libdir}/libmxnet.so"

к рецепту.

...