'Yocto toolchain installation with qscxmlc support
Hej Folks.
I try to implement a yocto and QT5 based project for a variscite board with QtSCXML support. I got everything run on QtCreator for my Hostmachine (Ubuntu 64-bit, 18.04), so I know my project has to be kinda right. For the yocto part, I used the installtion guide by variscite itself (Ref_1 and Ref_2). As targetmachine I use the VAR-SOM-6UL.
So my toolchain building process is the following:
$ sudo apt-get install gawk wget git diffstat unzip texinfo gcc-multilib \
build-essential chrpath socat cpio python python3 python3-pip python3-pexpect \
xz-utils debianutils iputils-ping libsdl1.2-dev xterm
$ sudo apt-get install autoconf libtool libglib2.0-dev libarchive-dev python-git \
sed cvs subversion coreutils texi2html docbook-utils python-pysqlite2 \
help2man make gcc g++ desktop-file-utils libgl1-mesa-dev libglu1-mesa-dev \
mercurial automake groff curl lzop asciidoc u-boot-tools dos2unix mtd-utils pv \
libncurses5 libncurses5-dev libncursesw5-dev libelf-dev zlib1g-dev bc rename
$ mkdir ~/bin (this step may not be needed if the bin folder already exists)
$ curl https://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
$ export PATH=~/bin:$PATH
$ mkdir ~/var-fslc-yocto && cd ~/var-fslc-yocto
$ repo init -u https://github.com/varigit/variscite-bsp-platform.git -b dunfell
$ repo sync -j$(nproc)
$ MACHINE=imx6ul-var-dart DISTRO=fslc-x11 . setup-environment build_x11
Now I change the local.conf file in ~/var-fslc-yocto/build_x11/conf/. As default the connectivity check fails, so a diffrent url is deposited. The virtualization is only activated to suppress warning messages. To "include" the qtscxml, its append to the IMAGE as the nativesdk-qtscxml is append for the host toolchain.
But see for yourself:
MACHINE ??= 'imx6ul-var-dart'
DISTRO ?= 'fslc-x11'
PACKAGE_CLASSES ?= 'package_rpm'
EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
USER_CLASSES ?= "buildstats image-mklibs image-prelink"
PATCHRESOLVE = "noop"
BB_DISKMON_DIRS ??= "\
STOPTASKS,${TMPDIR},1G,100K \
STOPTASKS,${DL_DIR},1G,100K \
STOPTASKS,${SSTATE_DIR},1G,100K \
STOPTASKS,/tmp,100M,100K \
ABORT,${TMPDIR},100M,1K \
ABORT,${DL_DIR},100M,1K \
ABORT,${SSTATE_DIR},100M,1K \
ABORT,/tmp,10M,1K"
PACKAGECONFIG_append_pn-qemu-system-native = " sdl"
CONF_VERSION = "1"
DL_DIR ?= "${BSPDIR}/downloads/"
ACCEPT_FSL_EULA = "1"
#check connectivity using google
CONNECTIVITY_CHECK_URIS = "https://www.google.com/"
#enable virtualization to disable warning
DISTRO_FEATURES_append = " virtualization"
#image extra
EXTRA_IMAGE_FEATURES = " \
qtcreator-debug \
ssh-server-openssh \
debug-tweaks \
tools-debug \
"
#use systemd
DISTRO_FEATURES_append = " systemd"
DISTRO_FEATURES_BACKFILL_CONSIDERED_append = " sysvinit"
VIRTUAL-RUNTIME_init_manager = "systemd"
VIRTUAL-RUNTIME_initscripts = ""
IMX_DEFAULT_DISTRO_FEATURES_append = " systemd"
#image install
IMAGE_INSTALL_append = " \
qtscxml \
"
#toolchain host
TOOLCHAIN_HOST_TASK += "qtscxml \
nativesdk-qtscxml \
"
Now comes the happy building part and the Problems beginn!
I will just type what i'm doing:
$ bitbake -c populate_sdk fsl-image-qt5
$ . ~/var-fslc-yocto/build_x11/tmp/deploy/sdk/fslc-x11-glibc-x86_64-fsl-image-qt5-cortexa7t2hf-neon-imx6ul-var-dart-toolchain-3.1.sh
$ . /opt/fslc-x11/3.1/environment-setup-cortexa7t2hf-neon-fslc-linux-gnueabi
$ cd ~/TestProject
$ mkdir build
$ qmake -makefile -o build/MakeFile test.pro
$ make -C build/
And now the error message i receive ..
make: Entering directory '/home/yocto/TestProject/build'
make: *** No rule to make target '/opt/fslc-x11/3.1/sysroots/x86_64-fslcsdk-linux/usr/bin/qscxmlc', needed by 'custom_statemachine.h'. Stop.
make: Leaving directory '/home/yocto/TestProject/build'
(custom_statemachine.h isn't written by me, I only generated custom_statemachine.scxml)
Do i missed something? Why is Qts SCXML Compiler qscxmlc missing?
Thanks to everyone how read this far, thanks for every suggestions and sorry for every grammatical mistake.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|