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.
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.
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.
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$
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-
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
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
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
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)
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.
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