Open7

mediapipe crossbuild

かさじまかさじま

ビルドエラー

ERROR: /home/kasajima/bazel-cross-example/BUILD:3:10: //:hello depends on @local_config_cc//:cc-compiler-k8 in repository @local_config_cc which failed to fetch. no such package '@local_config_cc//': Program argument of which() may not contain a / or a \ ('aarch64-poky-linux-gcc -mcpu=cortex-a53 -march=armv8-a+crc+crypto -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=/opt/fsl-imx-wayland/5.10-gatesgarth/sysroots/cortexa53-crypto-poky-linux' given)

yocto setupしていると CC に poky-linux-gcc が設定される。
local (native) 検査で引っかかるぽい。
とりあえず export CC= してみる。

一応通るがそのあとのビルドでエラーになる。
素直に meta-mediapipe をやるか・・・

かさじまかさじま

構想

  • meta-tensorflow の以下を取ってくる
    • classes
    • recipes-devtools
  • recipes-devtools/python はいらないと思う
  • yocto書式v4をv3に直す
かさじまかさじま

まずは meta-tensorflow をビルドできるかやってみる
ブランチは hardknott
sources に meta-tensorflow を配置

build/conf/bblayers.conf でレイヤー追加

BBLAYERS += "${BSPDIR}/sources/meta-tensorflow"
bitbake tensorflow

layer.conf に gatesgarth がなかった。追加する。

ERROR: Layer meta-tensorflow is not compatible with the core layer which only supports these series: gatesgarth (layer is compatible with hardknott)

meta-tensorflow/conf/layer.conf

LAYERSERIES_COMPAT_meta-tensorflow = "gatesgarth hardknott"
かさじまかさじま

ビルドエラー

ERROR: Required build target 'tensorflow' has no buildable providers.
Missing or unbuildable dependency chain was: ['tensorflow', 'flatbuffers-python3']

pythonモジュールは使わないので、RDEPENDSを消す
tensorflow_2.4.4.bb

RDEPENDS_${PN} += " \
    python3 \
    python3-core \
    python3-numpy \
    python3-keras-applications \
    python3-keras-preprocessing \
    python3-protobuf \
    python3-grpcio \
    python3-absl \
    python3-astor \
    python3-astunparse \
    python3-gast \
    python3-termcolor \
    python3-wrapt \
    python3-opt-einsum \
    python3-google-pasta \
    python3-typing-extensions \
    flatbuffers-python3 \
    tensorboard \
    tensorflow-estimator \
"