Configure Qt5 on QNX 6.5.0 sp1



  • I'm trying to build Qt5 on QNX 6.5.0 sp1.

    ./configure -xplatform qnx-x86-qcc -static -debug
    gives me the following error: The specified system/compiler is not supported:
    qtbase/mkspecs/unsupported/qnx-g++

    How to configure properly?

    Any help is much appreciated.



  • I think you should ask your question in general forum or even better in qt-project mail list where people with direct Qt experience reside. You might try irc channels as well. While this is QNX forum it is more about PlayBook and BB10 than QNX OS.



  • Hm, strange error, because the mkspecs of qnx are not in the unsupported folder any more. Which version of Qt5 are you using? Newest from git?



  • I was using 5.0 version, downloaded from http://qt-project.org/downloads
    I'm just wondering is there any person who managed to build qt5 on QNX

    Maybe I use wrong options for configure script



  • I was able to build Qt5 for QNX. I was using the playbook sdk but I don't think it is too different from BB10 if that is what you have.

    I use a shell script to configure the environment

    @
    ron@linux-tsia:~> cat configure-qt5-blackberry.sh
    #!/bin/bash

    script to configure shell for QT5-blackberry

    QTDIR=$HOME/development/qnx/qt-5.0.1/usr/qt5
    PATH=$QTDIR/bin:$PATH
    MANPATH=$QTDIR/doc/man:$MANPATH
    LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

    . $HOME/bbndk-2.1.0/bbndk-env.sh

    export QTDIR PATH MANPATH LD_LIBRARY_PATH QNX_TARGET QNX_HOST QNX_CONFIGURATION MAKEFLAGS

    /bin/bash
    @

    The environment file 'bbndk-env.sh' from the blackberry development kit:

    @
    ron@linux-tsia:~> cat $HOME/bbndk-2.1.0/bbndk-env.sh

    This script is sets environment variables requires to use this version of NDK

    from the command line. To use the script, you have to "source" it into your shell,

    source bbndk-env.sh

    if source command is not available use "." (dot) command instead

    QNX_TARGET="$HOME/bbndk-2.1.0/target/qnx6"
    QNX_HOST="$HOME/bbndk-2.1.0/host/linux/x86"
    QNX_CONFIGURATION="$HOME/.rim/bbndk"
    MAKEFLAGS="-I$QNX_TARGET/usr/include"
    LD_LIBRARY_PATH="$QNX_HOST/usr/lib:$LD_LIBRARY_PATH"
    PATH="$QNX_HOST/usr/bin:$QNX_CONFIGURATION/bin:$QNX_HOST/usr/qde/eclipse/jre/bin:$PATH"

    export QNX_TARGET QNX_HOST QNX_CONFIGURATION MAKEFLAGS LD_LIBRARY_PATH PATH
    @

    And the configuration that I used to compile Qt5:

    @
    configure -xplatform blackberry-armv7le-qcc -opengl es2 -nomake docs -nomake examples -nomake demos -nomake tests -opensource -confirm-license -release -no-neon -no-c++11 -prefix $HOME/development/qnx/qt-5.0.1/usr/qt5
    @

    Qt5 location: $HOME/development/qnx/qt-5.0.1/usr/qt5
    The bbndk is in the default directory: $HOME/bbndk-2.1.0/
    Qt5 installation target: $HOME/development/qnx/qt-5.0.1/usr/qt5

    I deleted the folders qtdoc, qttools, qtwebkit, and qtwebkit-examples-and-demos from the source tree as they probably won't compile for this platform and are not needed. The nomake options should ignore these directories anyway.



  • So you could actually have Qt 5 applications running on the BlackBerry Playbook.
    I found some more info about it on the internet which might be helpful to this topic:

    Is anybody crazy enough to create some apps for the dead little tablet?

    Cheers.



  • Yeah, I get the impression it is dead. It is too bad because I have gotten kind of fond of it especially after trying to use the smaller touch screen on my Samsung phone.

    I haven't tried the new version of Qt with this slab. I found that 4.8.x and 5.0.x had some issues that required a work around or two but you could end up with a usable application.

    I am still waiting for OS upgrade to BB10 update for the Playbook; this should be more compatible with Qt.



  • [quote author="Rondog" date="1379457143"]
    I am still waiting for OS upgrade to BB10 update for the Playbook; this should be more compatible with Qt.[/quote]
    Hey, haven't you heard the news? BB10 is definitely "not coming to the Playbook.":http://www.trustedreviews.com/news/blackberry-playbook-bb10-update-cancelled-confirms-heins
    Yeah, too bad. But Qt apps run really fine on it anyway so I guess one could make a few thousand bucks with not much effort. I guess the main annoyance is that there's no Qt on the system so the apps are somewhat big thus, the code-deploy-test-fix cycle would be very slow.



  • To have a lower test-fix deploy cycle I copied the Qt libs on there and pointed my apps LD_LIBRARY_PATH to that dir, this way my debug builds only upload the actual app.

    Works on BB10 too.



  • [quote author="bill_bsb" date="1379509369"]
    Hey, haven't you heard the news? BB10 is definitely "not coming to the Playbook.":http://www.trustedreviews.com/news/blackberry-playbook-bb10-update-cancelled-confirms-heins
    [/quote]

    Hmmmm. I didn't know this.



  • [quote author="madalff" date="1357416958"]I'm trying to build Qt5 on QNX 6.5.0 sp1.

    ./configure -xplatform qnx-x86-qcc -static -debug
    gives me the following error: The specified system/compiler is not supported:
    qtbase/mkspecs/unsupported/qnx-g++

    How to configure properly?
    Any help is much appreciated.[/quote]

    Hi!
    Change in
    qt-everywhere-opensource-src-5.1.1/qtbase/configure
    line 268:
    [code]
    PLATFORM=unsupported/qnx-g++
    [/code]
    to
    [code]
    PLATFORM=qnx-x86-qcc
    [/code]
    configure will work.
    But I can`t build Qt, because it break with some link errors:

    /bin/sh: QNX_TARGET: cannot execute - No such file or directory
    in
    qcc -Vgcc_ntox86 -o "/qt-src-5.1.1/qtbase/bin/qmake" project.o .... many-many files *.o -Wl,-rpath-link,$(QNX_TARGET)/x86/usr/lib



  • It sounds like you don't have the variable QNX_TARGET set properly. On my system it is set like this:

    QNX_TARGET="/Users/ron/bbndk-2.1.0/target/qnx6"

    You can see what the current value of this variable is set to using the 'echo' command from the console

    @
    bash-3.2$ echo $QNX_TARGET
    /Users/ron/bbndk-2.1.0/target/qnx6
    bash-3.2$
    @

    If you do have it set then maybe the location is wrong?



  • [quote author="Rondog" date="1385603145"]It sounds like you don't have the variable QNX_TARGET set properly. On my system it is set like this:

    QNX_TARGET="/Users/ron/bbndk-2.1.0/target/qnx6"

    ...
    If you do have it set then maybe the location is wrong?[/quote]
    Thank you for answer.
    QNX_TARGET variable in my QNX system sets to

    /usr/qnx650/target/qnx6

    I suggest, that error in file
    /qt-everywhere-opensource-src-5.1.1/qtbase/mkspecs/common/qcc-base-qnx.conf

    @...
    QNX_DIR = $$(QNX_TARGET)
    isEmpty(QNX_DIR) {
    error("QNX_TARGET environment variable not set")
    }

    QMAKE_INCDIR = $${QNX_DIR}/usr/include $${QNX_DIR}/usr/include/freetype2
    QMAKE_LIBDIR = $${QNX_DIR}/$${QNX_CPUDIR}/lib $${QNX_DIR}/$${QNX_CPUDIR}/usr/lib
    QMAKE_LFLAGS += -Wl,-rpath-link,$${QNX_DIR}/$${QNX_CPUDIR}/lib -Wl,-rpath-link,$${QNX_DIR}/$${QNX_CPUDIR}/usr/lib
    ...@

    Result of this script

    qcc -Vgcc_ntox86 -o "/qt-src-5.1.1/qtbase/bin/qmake" project.o ... -lang-c++ -Wl,-rpath-link,$(QNX_TARGET)/x86/lib -Wl,-rpath-link,$(QNX_TARGET)/x86/usr/lib

    looks like a wrong. I suppose, that instead QNX_TARGET variable must be value of QNX_TARGET.
    Also unknown -rpath-link parameter present. May be typo error?

    All my attempts to correct script were unsuccessful


Log in to reply
 

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