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

Missing QSCXMLC (Qt5.15.2) in Yocto SDK

Scheduled Pinned Locked Moved Unsolved Mobile and Embedded
4 Posts 3 Posters 797 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