如何在 Yocto 中为 Raspberry PI 构建 Qt5 SDK?
How to build Qt5 sdk in Yocto for Raspberry PI?
我正在尝试构建 meta-toolchain-qt5。但是,我收到这些错误。我正在按照指南 -
Guide Qt5 build
这是我到目前为止所做的事情 -
内部狭小 -
$git clone https://github.com/meta-qt5/meta-qt5.git
后来,我变了
conf/bblayers.conf
POKY_BBLAYERS_CONF_VERSION = "2"
BBPATH = "${TOPDIR}"
BBFILES ?= ""
BBLAYERS ?= " \
/home/ABC/TSR/yocto_demo/poky/meta \
/home/ABC/TSR/yocto_demo/poky/meta-poky \
/home/ABC/TSR/yocto_demo/poky/meta-yocto-bsp \
/home/ABC/TSR/yocto_demo/poky/meta-raspberrypi \
/home/ABC/TSR/yocto_demo/poky/meta-qt5 \
"
接下来,我在conf/local.conf
中追加了
EXTRA_IMAGE_FEATURES = "debug-tweaks ssh-server-openssh "
IMAGE_INSTALL_append = " gcc g++ binutils libgcc libgcc-dev libstdc++ libstdc++-dev libstdc++-staticdev \
autoconf automake ccache chkconfig glib-networking glibmm \
packagegroup-core-buildessential pkgconfig \
boost cmake zlib glib-2.0 packagegroup-fsl-tools-testapps \
ruby \
cpufrequtils \
nano \
gdb \
gstreamer \
gst-meta-video \
gst-fsl-plugin \
gst-plugins-base-app \
gst-plugins-base \
gst-plugins-good \
gst-plugins-good-rtsp \
gst-plugins-good-udp \
gst-plugins-good-rtpmanager \
gst-plugins-good-rtp \
gst-plugins-good-video4linux2 \
openssh-sftp-server \
packagegroup-fsl-gstreamer \
packagegroup-fsl-tools-testapps \
packagegroup-fsl-tools-benchmark \
imx-vpu \
imx-test \
qtbase-fonts \
qtbase-plugins \
qtbase-tools \
qtbase-examples \
qtdeclarative \
qtdeclarative-plugins \
qtdeclarative-tools \
qtdeclarative-examples \
qtdeclarative-qmlplugins \
qtmultimedia \
qtmultimedia-plugins \
qtmultimedia-examples \
qtmultimedia-qmlplugins \
qtsvg \
qtsvg-plugins \
qtsensors \
qtimageformats-plugins \
qtsystems \
qtsystems-tools \
qtsystems-examples \
qtsystems-qmlplugins \
qtscript \
qt3d \
qt3d-examples \
qt3d-qmlplugins \
qt3d-tools \
qtwebkit \
qtwebkit-examples-examples \
qtwebkit-qmlplugins \
qtgraphicaleffects-qmlplugins \
qtconnectivity-qmlplugins \
qtlocation-plugins \
qtlocation-qmlplugins \
cinematicexperience \
cairo pango fontconfig freetype pulseaudio dbus \
alsa-lib alsa-tools alsa-state alsa-utils-alsaconf fsl-alsa-plugins \
i2c-tools \
"
DISTRO_FEATURES_remove = "x11 wayland"
现在,构建之后,我收到以下错误 -
$bitbake meta-toolchain-qt5
$bitbake meta-toolchain-qt5
Loading cache: 100% |##########################################################################################################################| Time: 0:00:00
Loaded 1431 entries from dependency cache.
NOTE: Resolving any missing task queue dependencies
ERROR: Nothing PROVIDES 'tslib' (but /home/ABC/TSR/yocto_demo/poky/meta-qt5/recipes-qt/qt5/qtbase_git.bb DEPENDS on or otherwise requires it). Close matches:
taglib
NOTE: Runtime target 'qttools-staticdev' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['qttools-staticdev', 'qtbase', 'tslib']
NOTE: Runtime target 'packagegroup-qt5-toolchain-target' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['packagegroup-qt5-toolchain-target', 'qttools-staticdev', 'qtbase', 'tslib']
ERROR: Required build target 'meta-toolchain-qt5' has no buildable providers.
Missing or unbuildable dependency chain was: ['meta-toolchain-qt5', 'packagegroup-qt5-toolchain-target', 'qttools-staticdev', 'qtbase', 'tslib']
Summary: There were 2 ERROR messages shown, returning a non-zero exit code.
tmp/work/arm1176jzfshf-vfp-poky-linux-gnueabi/qtwebkit/5.12.3+gitAUTOINC+beaeeb9988-r0/git/Source/WTF/wtf/HashTraits.h:226:8: note: 'struct WTF::KeyValuePair<void*, JSC::Weak<JSC::JSObject> >' declared here | struct KeyValuePair { | ^~~~~~~~~~~~ | ninja: build stopped: subcommand failed. –
你有两个选择
First
tslib
由 meta-oe
层提供,因此您需要获取该层并将其添加到您的 BBLAYERS
所以在您的 poky 树中
git clone git://github.com/openembedded/meta-openembedded
在 conf/bblayers.conf
中将以下内容添加到 BBLAYERS
列表
/home/ABC/TSR/yocto_demo/poky/meta-openembedded/meta-oe
Second
在您的图层中为 qtbase
添加一个 bbappend 文件,例如
qtbase_%.bbappend
PACKAGECONFIG_remove = "tslib"
我正在尝试构建 meta-toolchain-qt5。但是,我收到这些错误。我正在按照指南 - Guide Qt5 build
这是我到目前为止所做的事情 -
内部狭小 -
$git clone https://github.com/meta-qt5/meta-qt5.git
后来,我变了
conf/bblayers.conf
POKY_BBLAYERS_CONF_VERSION = "2"
BBPATH = "${TOPDIR}"
BBFILES ?= ""
BBLAYERS ?= " \
/home/ABC/TSR/yocto_demo/poky/meta \
/home/ABC/TSR/yocto_demo/poky/meta-poky \
/home/ABC/TSR/yocto_demo/poky/meta-yocto-bsp \
/home/ABC/TSR/yocto_demo/poky/meta-raspberrypi \
/home/ABC/TSR/yocto_demo/poky/meta-qt5 \
"
接下来,我在conf/local.conf
中追加了EXTRA_IMAGE_FEATURES = "debug-tweaks ssh-server-openssh "
IMAGE_INSTALL_append = " gcc g++ binutils libgcc libgcc-dev libstdc++ libstdc++-dev libstdc++-staticdev \
autoconf automake ccache chkconfig glib-networking glibmm \
packagegroup-core-buildessential pkgconfig \
boost cmake zlib glib-2.0 packagegroup-fsl-tools-testapps \
ruby \
cpufrequtils \
nano \
gdb \
gstreamer \
gst-meta-video \
gst-fsl-plugin \
gst-plugins-base-app \
gst-plugins-base \
gst-plugins-good \
gst-plugins-good-rtsp \
gst-plugins-good-udp \
gst-plugins-good-rtpmanager \
gst-plugins-good-rtp \
gst-plugins-good-video4linux2 \
openssh-sftp-server \
packagegroup-fsl-gstreamer \
packagegroup-fsl-tools-testapps \
packagegroup-fsl-tools-benchmark \
imx-vpu \
imx-test \
qtbase-fonts \
qtbase-plugins \
qtbase-tools \
qtbase-examples \
qtdeclarative \
qtdeclarative-plugins \
qtdeclarative-tools \
qtdeclarative-examples \
qtdeclarative-qmlplugins \
qtmultimedia \
qtmultimedia-plugins \
qtmultimedia-examples \
qtmultimedia-qmlplugins \
qtsvg \
qtsvg-plugins \
qtsensors \
qtimageformats-plugins \
qtsystems \
qtsystems-tools \
qtsystems-examples \
qtsystems-qmlplugins \
qtscript \
qt3d \
qt3d-examples \
qt3d-qmlplugins \
qt3d-tools \
qtwebkit \
qtwebkit-examples-examples \
qtwebkit-qmlplugins \
qtgraphicaleffects-qmlplugins \
qtconnectivity-qmlplugins \
qtlocation-plugins \
qtlocation-qmlplugins \
cinematicexperience \
cairo pango fontconfig freetype pulseaudio dbus \
alsa-lib alsa-tools alsa-state alsa-utils-alsaconf fsl-alsa-plugins \
i2c-tools \
"
DISTRO_FEATURES_remove = "x11 wayland"
现在,构建之后,我收到以下错误 -
$bitbake meta-toolchain-qt5
$bitbake meta-toolchain-qt5
Loading cache: 100% |##########################################################################################################################| Time: 0:00:00
Loaded 1431 entries from dependency cache.
NOTE: Resolving any missing task queue dependencies
ERROR: Nothing PROVIDES 'tslib' (but /home/ABC/TSR/yocto_demo/poky/meta-qt5/recipes-qt/qt5/qtbase_git.bb DEPENDS on or otherwise requires it). Close matches:
taglib
NOTE: Runtime target 'qttools-staticdev' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['qttools-staticdev', 'qtbase', 'tslib']
NOTE: Runtime target 'packagegroup-qt5-toolchain-target' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['packagegroup-qt5-toolchain-target', 'qttools-staticdev', 'qtbase', 'tslib']
ERROR: Required build target 'meta-toolchain-qt5' has no buildable providers.
Missing or unbuildable dependency chain was: ['meta-toolchain-qt5', 'packagegroup-qt5-toolchain-target', 'qttools-staticdev', 'qtbase', 'tslib']
Summary: There were 2 ERROR messages shown, returning a non-zero exit code.
tmp/work/arm1176jzfshf-vfp-poky-linux-gnueabi/qtwebkit/5.12.3+gitAUTOINC+beaeeb9988-r0/git/Source/WTF/wtf/HashTraits.h:226:8: note: 'struct WTF::KeyValuePair<void*, JSC::Weak<JSC::JSObject> >' declared here | struct KeyValuePair { | ^~~~~~~~~~~~ | ninja: build stopped: subcommand failed. –
你有两个选择
First
tslib
由 meta-oe
层提供,因此您需要获取该层并将其添加到您的 BBLAYERS
所以在您的 poky 树中
git clone git://github.com/openembedded/meta-openembedded
在 conf/bblayers.conf
中将以下内容添加到 BBLAYERS
列表
/home/ABC/TSR/yocto_demo/poky/meta-openembedded/meta-oe
Second
在您的图层中为 qtbase
添加一个 bbappend 文件,例如
qtbase_%.bbappend
PACKAGECONFIG_remove = "tslib"