Problem with Qt and cross compiler for ARM



  • hello,

    I explain my situation a bit. I just started my final year project. I have to design and implement an application and will use Qt, I have to say I am newbie, I never used this library and the IDE. Well continued ... This application must "run it" on a BeagleBoard, so I decided to implement it from my PC (x86) and using a cross compiler to build the project which is executable for ARM architecture (Beagle itself). I have six days trying and I always get a failure (either by compiling with the command make, it tells me that there is none-linux-arm-gnueabi-gcc or when I get compile and get the qmake, does not work on the plate ...)

    I summarize some context. Let's see if anyone can help.

    Host development: Virtual Machine (VMWare with Ubuntu 12.04 (x86_64 bit)
    IDE: Qt creator, designer ...

    Destination: BeagleBoard (ARM - OMAP3)

    Thank you for your time


  • Moderators

    More people will be able to help you at the BeagleBoard group (https://groups.google.com/forum/?fromgroups#!forum/beagleboard )

    Also, you need to provide a lot more information, such as:

    • What error messages did you get? (Most important! Copy+paste the full message)
    • Where did you get your cross-compiler from?
    • Where did you get your Qt library from?
    • What version of Qt are you using?
    • What OS are you running on the BeagleBoard? (Angstrom? Ubuntu? ...Android?)


  • Thank you very much for answering!

    What error messages did you get? (Most important! Copy+paste the full message)

    make[1]: arm-none-linux-gnueabi-g++: Command not found
    make[1]: *** [.obj/release-shared-emb-arm/qabstractanimation.o] Error 127
    make[1]: Leaving directory `/home/awaxisnei/Desktop/qt-everywhere-opensource-src-4.8.3/src/corelib'
    make: *** [sub-corelib-make_default-ordered] Error 2

    Where did you get your cross-compiler from?

    I got it from this page--> http://www.angstrom-distribution.org/toolchains/archive/

    Where did you get your Qt library from?

    http://qt-project.org/downloads --> Qt libraries 4.8.3 for Linux/X11 (223 MB)

    What version of Qt are you using?

    I have installed the Qt sd (QtSdk) -- QtCreator 2.4.1.

    What OS are you running on the BeagleBoard? (Angstrom? Ubuntu? …Android?)

    Ubuntu 12.04 LTS on the Beagleboard



  • More info...

    I've modified the qmake

    $/home/awaxisnei/Desktop/qt-everywhere-opensource-src-4.8.3/mkspecs/qws/linux-arm-gnueabi-g++ / # gedit qmake.conf

    and looks like this:

    qmake configuration for building with arm-none-linux-gnueabi-g++

    include(../../common/linux.conf)
    include(../../common/gcc-base-unix.conf)
    include(../../common/g++-unix.conf)
    include(../../common/qws.conf)

    modifications to g++.conf

    QMAKE_CC = arm-none-linux-gnueabi-gcc
    QMAKE_CXX = arm-none-linux-gnueabi-g++
    QMAKE_LINK = arm-none-linux-gnueabi-g++
    QMAKE_LINK_SHLIB = arm-none-linux-gnueabi-g++

    modifications to linux.conf

    QMAKE_AR = arm-none-linux-gnueabi-ar cqs
    QMAKE_OBJCOPY = arm-none-linux-gnueabi-objcopy
    QMAKE_STRIP = arm-none-linux-gnueabi-strip

    load(qt_config)

    The library "toolchain" is installed here --> /usr/local/angstrom



  • Your compiler path is not found. Export the path of your cross compiler using export command,
    e.g. export PATH=path/to/cross/compiler:$PATH

    cheers,
    Nikhil



  • I've managed to compile, but to build the project I get the following error in QtCreator:

    Starting / home/awaxisnei/Desktop/Prueba/Prueba-build-desktop-Qt_4_8_3__qt-arm__Release/Prueba ...
    Failed to start program. Path or permissions wrong?
    / home/awaxisnei/Desktop/Prueba/Prueba-build-desktop-Qt_4_8_3__qt-arm__Release/Prueba exited with code -1

    Thank you all for your replies.

    I remember you that on my PC (x86_ 64-bit Ubuntu 12.04 LTS) developing the application to run on BeagleBoard (Ubuntu 12.04 LTS)


  • Moderators

    If you compiled a program for an ARM processor, then you can't run that program on a x86_64 processor. You need to put the compiled ARM program on the BeagleBoard



  • Can using a cross compiler and use a qmake build for ARM. Can not make it? . I have read in various forums that if you can ...


  • Moderators

    Yes, you can cross-compile for an ARM computer, from an x86_64 PC.

    Your error message is "Failed to start program". Is that because you tried to run your program?

    You can BUILD/MAKE the program on your PC, but you can't RUN/LAUNCH/OPEN the program on your PC.


Log in to reply
 

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