【问题标题】:OEToolchainConfig.cmake is not installed by cmake recipe Yoctocmake 配方 Yocto 未安装 OEToolchainConfig.cmake
【发布时间】:2018-09-04 08:40:44
【问题描述】:

我一直在使用 Yocto 来为我的 Raspberry Pi 生成一个图像,这也是一个用于交叉编译的 SDK。我想输入要安装在我的图像文件中的软件包并使用以下方法生成图像:

bitbake my-image

并使用以下方法生成 sdk:

bitbake my-image -c populate_sdk

工作流程 afaik 是您获取 bash 文件并为交叉编译设置环境。

但是,出于某种原因,(问题 1) 在我的情况下,sysroots/usr/share/cmake 没有生成 OEToolchainConfig.cmake

我目前所掌握的内容如下:

#To build SDK, use bitbake meta-toolchain or bitbake my-image -c populate_sdk

inherit core-image

# for populate_sdk to create a valid toolchain with qt5
inherit populate_sdk populate_sdk_qt5

##
inherit distro_features_check

DESCRIPTION = "My image."

LICENSE="CLOSED"



image_KERNEL_MODULES = " \
    kernel-modules \
"

#Framebuffer driver for tft
image_DRIVERS = " \
    xf86-video-fbdev \
"

image_DESKTOP_SUPPORT = " \
    packagegroup-core-boot \
    packagegroup-core-x11 \
    packagegroup-lxde-base \
    localedef \
    pointercal \
    xinit \
    xkeyboard-config \
    base-passwd \
    liberation-fonts \
"

image_BASIC_TOOLS = " \
    apt \
    dpkg \
    sudo \
    tzdata \
    dbus \
    packagegroup-core-ssh-openssh \
    xterm \
    networkmanager \
    wpa-supplicant \
"

image_DEV_TOOLS = " \
    git \
    cmake \
    gcc \
    g++ \
    binutils \
    binutils-symlinks \
    coreutils \
    cpp \
    cpp-symlinks \
    diffutils \
    file \
    g++ \
    g++-symlinks \
    gdb \
    gdbserver \
    gcc \
    gcc-symlinks \
    gettext \
    git \
    ldd \
    libgcc \
    libgcc-dev \
    libstdc++ \
    libstdc++-dev \
    libstdc++-staticdev \
    libtool \
    make \
    perl-modules \
    pkgconfig \
    python-modules \
    python3-modules \
    autoconf \
    automake \
    ccache \
    packagegroup-core-buildessential \
    glibc-utils \
"

image_DEV_LIBS = " \
    wiringpi \
"

image_QT_TOOLS = " \
    qtbase \
    qtwebengine \
    qtwebkit \
"

IMAGE_INSTALL_append = " \
    ${image_KERNEL_MODULES} \
    ${image_DRIVERS} \
    ${image_DESKTOP_SUPPORT} \
    ${image_BASIC_TOOLS} \
    ${image_DEV_TOOLS} \
    ${image_DEV_LIBS} \
    ${image_QT_TOOLS} \
 "

#Maybe consider connman instead of networkmanager
#vc-graphics is problematic with userland..


## SDK stuff, to build sdk use bitbake my-image -c populate_sdk
# Add all static packages:  SDKIMAGE_FEATURES += "staticdev-pkgs"
#SDKIMAGE_FEATURES += "staticdev-pkgs"
#SDKIMAGE_FEATURES += "dev-pkgs"

# Dnf issue fix for nativesdk-qt add to local.conf
#PACKAGE_CLASSES = "package_ipk"

# In the target side, add our libs
TOOLCHAIN_TARGET_TASK_append = " wiringpi-dev"

# Needed for cross-compilation / host tasks
TOOLCHAIN_HOST_TASK_append = " nativesdk-packagegroup-qt5-toolchain-host"
#CMake conflicts with the qt packagegroup, cmake is a must, when qt packagegroup is nonexistent
TOOLCHAIN_HOST_TASK_append = " nativesdk-cmake"

REQUIRED_DISTRO_FEATURES = "x11"

IMAGE_LINGUAS ?= " "

LICENSE = "MIT"

export IMAGE_BASENAME = "my-image"


ENABLE_SPI_BUS = "1"
ENABLE_I2C = "1"

do_image_prepend() {

}

这引发了一些问题: (问题 2) 我看到有些人不使用 TOOLCHAIN_HOST_TASKTOOLCHAIN_TARGET_TASK 并且有些人如何能够将包添加到 SDK。我想知道我是否做错了什么。 (问题 3) 我继承了一些基于其他条目的类,但我不确定继承 populate_sdkpopulate_sdk_qt5 会帮助我解决什么问题。如果有人可以粗略地解释我做错了什么以及我可以做些什么来改善工作流程,那将是一个很好的知识补充。

提前感谢您的建议。

【问题讨论】:

    标签: linux qt cmake yocto bitbake


    【解决方案1】:

    尝试回答(问题 1):

    我对 poky-2.5 的发现是,对于我的 x86_64 目标,OEToolchainConfig.cmake 被放入了 dev-package(即 nativesdk-cmake-dev-3.10.3-r0.x86_64_nativesdk.rpm)

    因此,请尝试:

    TOOLCHAIN_HOST_TASK_append = " nativesdk-cmake-dev"
    

    不确定这是否是错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-06-08
      • 2022-11-17
      • 2020-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多