QT4 application on Beagleboard

Hi,

I am working on porting a QT4 application to the Beagleboard. I have Ubuntu 10.10 up and running on the beagle board and now I want to set up my dev environment on my desktop PC. I have found some good tutorials on setting up the toolchain for the desktop environment, but not that include QT4. Has anyone ported a QT4 app to the beagleboard. I’m looking for a couple of tips to jump start me.

Thanks

Ted

Ted,

Have you thought about using angstorm instead of ubuntu on the BB?
There's a lot of support for QT in angstrom (I've used it before with
friendlyARM's)... Just a thought.

-Alex

I am porting an app now.

Look at this site:

http://treyweaver.blogspot.com/2010/10/setting-up-qt-development-environment.html

We are using angstrom, but for this tutorial it should not matter
much.

Thanks Trey,

I think this what I am looking for. I am not wedded to Ubuntu and will try Angstrom as well. I ping-ponged back and forth, I just got Ubuntu up and running first.

I will study your tutorial,

thanks again, ted

OK, I have installed my toolchain, updated my path and am attempting to “make” QT

arm-none-linux-gnueabi-g++ -c -pipe -fno-exceptions Please update this flag with your arm family specific compiler optimization options -Wall -W -D_REENTRANT -fPIC -DQT_SHARED -DQT_BUILD_CORE_LIB -DQT_NO_USING_NAMESPACE -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DELF_INTERPRETER="/lib/ld-linux.so.2" -DHB_EXPORT=Q_CORE_EXPORT -DQT_NO_DEBUG -I…/…/mkspecs/qws/linux-DM3730-g++ -I. -I…/…/include -I…/…/include/QtCore -I.rcc/release-shared-emb-arm -Iglobal -I…/3rdparty/zlib -I…/3rdparty/harfbuzz/src -I…/3rdparty/md5 -I…/3rdparty/md4 -I.moc/release-shared-emb-arm -o .obj/release-shared-emb-arm/qabstractanimation.o animation/qabstractanimation.cpp
arm-none-linux-gnueabi-g++: Please: No such file or directory
arm-none-linux-gnueabi-g++: update: No such file or directory
arm-none-linux-gnueabi-g++: this: No such file or directory
arm-none-linux-gnueabi-g++: flag: No such file or directory
arm-none-linux-gnueabi-g++: with: No such file or directory
arm-none-linux-gnueabi-g++: your: No such file or directory
arm-none-linux-gnueabi-g++: arm: No such file or directory
arm-none-linux-gnueabi-g++: family: No such file or directory
arm-none-linux-gnueabi-g++: specific: No such file or directory
arm-none-linux-gnueabi-g++: compiler: No such file or directory
arm-none-linux-gnueabi-g++: optimization: No such file or directory
arm-none-linux-gnueabi-g++: options: No such file or directory
make[1]: *** [.obj/release-shared-emb-arm/qabstractanimation.o] Error 1
make[1]: Leaving directory `/home/greg/Downloads/qt-everywhere-opensource-src-4.6.2/src/corelib’
make: *** [sub-corelib-make_default-ordered] Error 2
greg@i7core:~/Downloads/qt-everywhere-opensource-src-4.6.2$

what next???

Thanks, ted

arm-none-linux-gnueabi-g++ -v
Ensure you get version info from the compiler using above command. If not, and you installed the Sourcery Lite tool chain, you probably have an incorrect path.
Sourcery directions assume you paid $$$$. If you are using Lite version:

Your path should look something like:
PATH=$HOME/CodeSourcery<<–where YOU INSTALLED>/Sourcery_G++_Lite/bin:$PATH
export PATH

Note the “Lite” in the pathname. That’s a euphemism for cheapskate and Sourcery likes to torture you for being so. Why is it that I know this?
-svt-

OK, I have installed my toolchain, updated my path and am attempting to
"make" QT

Typically I use the following line without altering any paths, hope it helps.
# ARCH=arm make CROSS_COMPILE=/opt/arm-2010q1/bin/arm-none-linux-gnueabi-

Regards
Sid.

Actually there are no tips or something, just cross compile Qt in your host, use whatever toochain you like, ldd your files and copy them to the target

There are tons of documentation on how to set up your env, maybe you want to browse the beagleboard wiki at elinux.com, the Processors TI wiki on how to compile Qt for BeagleBoard, or the Qt labs blogs on how to compile Qt with SGX support on the beagle or just do the inconceivable: a simple google search (with just a couple of words, “Qt BeagleBoard”) and click in the first and next search results

Im using Qt 4.7.1 built from git, with SGX support, code sourcery 2010, my custom kernel, on ubuntu 10.10, and my custom rootfs

Lioric

Coming along, I now have QT installed, my tool chain installed and have built my application on my ubuntu host using the codesourcery lite toolchain. But it is coming along. I have not built with SGX support yet, but have found some good examples as how to do that. That will come after getting the app running on the BB.

I am working now on getting the built application to run on the beagle board. I’m having issues due to the fact that most examples are on angstrom and I am using ubuntu on my beagle board–missing libs etc… But I feel I am getting close to seeing it run on the beagleboard…Kool. ted

Stuck again.

I have downloaded my QT application to my Beagleboard and have run it. I fisrt got an error that said it could not write to the frame buffer. I then re ran the program with sudo ./myprog -qws and it then gave me this error:

QT for Embedded Linux data directory is not owned by user 0
Aborted

Any help is appreciated

ted

Just delete the Qt created folder in the temp dir, and run again your application with your account (or sudo or whatever has ‘video’ group permissions)

Lioric

I got my application running on my beagleboard!!!

But it doesn’t run on top, it runs in parallel, I have two cursors, and they both paint over each other as I move the mouse, the two applications are not playing well together. How do I get my application to run on top and be recognized by Ubuntu. I did run it from the a console.

Thanks, ted

on top of what? you are using qws, and that has (kind-of) direct hardware access, how is that there is another app below that in the frame buffer

Are you sure that you are not running a X server at the same time?

Lioric

YEEEEEEEE HAWWWWW, it is all working fine now. I was running an X server at the same time. Hit Ctrl-Alt-F1 to bring up a new console, ran my app and violia… it is working fine. Kool ted

Thanks all