Error running a Qt5.8.0 App on a Linux distro on a Freescale IMX28EVK Board



  • Hi,

    I am receiving the following error :
    " A newer kernel is required to run this binary. (__kernel_cmpxchg64 helper)"

    when i run a Qt5.8.0 built 'test' app on the Arm CPU based board mentioned in the title above.

    The app has built using the cross compiler (gcc 4.9.1) form the Yocto 1.7.3 distro for imx28 CPUs (ARM v5). This is used within QT Creator running on Ubuntu15_04 in a Virtual Box VM. The supporting libs for Qt5.8.0 have also been cross compiled with the same compiler with the following configure options:

    -qpa linuxfb -xplatform poky-arm-gnueabi-g++ -opensource -confirm-license -release -nomake examples -nomake demos -nomake tests -tslib -prefix /opt/qt5-itron -no-pch -no-xcb -sysroot /opt/poky/1.7.2/sysroots/armv5te-poky-linux-gnueabi/ -no-opengl -no-openssl -no-libudev -no-fontconfig

    My main reason for trying to use Qt5.8.0 is the use of QtQuick2.x and QtQuickRenderer2D, in a future more complicated app, as the the imx28 board I am using does not have OpenGL support (or a GPU for that matter).

    Previously I was using the same 'test' app built using QtQuick1.0 in Qt5.4.1, all cross compiled with the same Yocto supplied compiler. This app ran with no issues on the same imx28 board.

    Can anyone provide any insight as to what might be causing this issue in 5.8.0 that is not in Qt5.4.1, is it simply the QtQuick version? Am I missing a config option for 5.8?

    Many Thanks
    PaulB


  • Lifetime Qt Champion

    HI and welcome to devnet,

    One of the main changes is that since 5.7, Qt requires C++11 support on all compiler used which AFAIK, your version already handles.

    Take a look at this article. It might give you some additional pointers.

    Hope it helps



  • @SGaist Thanks for the welcome and the couple of suggestions.
    The C++11 check was one of the first things I did, the version of GCC is good and the configure process of Qt5.8 picked up the C++11 flag.

    I have come across that blog entry, you provided before, And I now understand where the error comes from I just don't know what has caused it within the bits of Qt5.8 I am running.

    I am unable to do anything about the Linux Kernel version being used within the distro I have and I am not sure if the armv7 entry is referring to a version of the CPU or a driver version.

    I was hoping I could disable the use of something in Qt5.8 to allow me to begin some dev using QtQuick2, If I can't find a solution I will have to go back to starting dev with QtQuick1 and doing some rework when we receive a more up to date board and linux distro.

    Cheers
    PaulB


  • Lifetime Qt Champion

    Is it only 5.8 ? Does it also happen for e.g. 5.6 or 5.7 ?



  • @SGaist

    5.8 is the only one I have checked, as it takes about 6 hours to build a version of Qt inside the dev VM I am using and I'm currently short on dev time, hence the hope someone may have seen the problem before.

    5.8 is also the first opensource version with access to the QtQuickRenderer2D so 5.6 and 5.7 would be of no use to me anyway.
    But learning QtQuick1 will not be all wasted time :)


  • Lifetime Qt Champion

    Just take into account that the module has been deprecated in 5.5 and removed from the release packages since 5.6 (see here). You can still build it by hand though.

    Note, that you can also bring that error to the interest mailing list. You'll find there Qt's developers/maintainers. This forum is more user oriented.



  • @SGaist
    Yes I was aware of the removal, hence the desire to begin the dev using QtQuick2.

    It doesn't stop me designing the app such that the GUI is separated from the backend C++, so I can rework the QtQuick1 GUI when I get access to the new board with Qt5.8 support (effectively a GPU and OpenGL use).

    Thanks for the dev list link, I would love to delve into this some more but I have to get producing some pages for the App. :)


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.