Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Mobile and Embedded
  4. Missing QSCXMLC (Qt5.15.2) in Yocto SDK
Forum Updated to NodeBB v4.3 + New Features

Missing QSCXMLC (Qt5.15.2) in Yocto SDK

Scheduled Pinned Locked Moved Unsolved Mobile and Embedded
4 Posts 3 Posters 688 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • J Offline
    J Offline
    jonas_97
    wrote on last edited by
    #1

    Hej Folks,
    I would like to work with SCXML in QT5. I got it to work in QtCreator and let it run on my hostmachine.
    Works like a charm. (QT5 and Creator was install through the online installer. (Online Installer))
    But problems begin when running qmake and make in my yocto variscite environment.
    As Target I have the VAR-SOM-6UL, so I run everything as described in there "How To" (Part One, Part Two).
    Hostmachine: Ubuntu 20.04

    The steps I do are 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=var-som-mx6 DISTRO=fslc-x11 . setup-environment build_x11
    

    To include the QtSCXML I change the conf/local.conf file. My local.conf now looks as following:

    MACHINE ??= 'var-som-mx6'
    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/"
    
    IMAGE_INSTALL_append = " qtscxml"
    TOOLCHAIN_HOST_TASK_append = " nativesdk-qtscxml-dev"
    
    

    I run bitbake, the .sh, set the source and at the end I run qmake and make:

    $ bitbake -c populate_sdk fsl-image-qt5
    $ . ~/var-fslc-yocto/build_x11/tmp/deploy/sdk/fslc-x11-glibc-x86_64-fsl-image-qt5-cortexa9t2hf-neon-var-som-mx6-toolchain-3.1.sh 
    $ . /opt/fslc-x11/3.1/environment-setup-cortexa9t2hf-neon-fslc-linux-gnueabi
    $ cd ~/TestProject
    $ mkdir build
    $ qmake -makefile -o build/MakeFile test.pro
    $ make -C build/
    

    But make fails with No rule to make target.
    The detailed Error is:

    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 'Test.h'.  Stop.
    make: Leaving directory '/home/yocto/TestProject/build'
    
    

    If I look into /opt/..usr/bin/ but I can't find the qscxmlc compiler. So it wasn't provided? How do I change that?
    I mean I can't just copy paste the qscxmlc executable from the ~/Qt/ installation (where it works) into it ..
    Thanks for every help .. I've been struggling for weeks on that ..

    1 Reply Last reply
    0
    • M Offline
      M Offline
      Marco Battistella
      wrote on last edited by
      #2

      I have exactly the same problem, both for building my application software with bitbake and in the populated sdk. qscxmlc is the state machine compiler, which translates scxml files into C++.
      A temporary working solution is to manually copy the qscxmlc executable from the work directory of the qtscxml package to the work directory of my application:

      from .../tmp/work/armv7at2hf-neon-fslc-linux-gnueabi/qtscxml/5.10.1+gitAUTOINC+d9b2f8c56d-r0/recipe-sysroot-native/usr/bin/qt5/qscxmlc
      to .../tmp/work/armv7at2hf-neon-fslc-linux-gnueabi/my-app/00.A.01-r0/recipe-sysroot-native/usr/bin/qt5

      Doing this I can at least complete my software compilation; it doesn't completely solve the issue of course. I'm trying to find how to add qscxmlc to the files installed by the qtscxml recipe, still without success...

      1 Reply Last reply
      0
      • M Offline
        M Offline
        Marco Battistella
        wrote on last edited by
        #3

        The same solution, made automatic: add to your application recipe the following code

        do_configure_prepend() {
        	cp ${WORKDIR}/../../qtscxml/*/recipe-sysroot-native/usr/bin/qt5/qscxmlc \
        	${OE_QMAKE_PATH_HOST_PREFIX}/usr/bin/qt5
        }
        

        Anyway, this is still a dirty trick, the final solution should be in the qt5 recipes.

        1 Reply Last reply
        0
        • P Offline
          P Offline
          pasi
          wrote on last edited by
          #4

          Because nativesdk-qtscxml-dev does not provide the qscxmlc binary, nativesdk-qtscxml-tools does. That's why the host binary is not in the SDK.

          1 Reply Last reply
          1

          • Login

          • Login or register to search.
          • First post
            Last post
          0
          • Categories
          • Recent
          • Tags
          • Popular
          • Users
          • Groups
          • Search
          • Get Qt Extensions
          • Unsolved