Topic: Cross Compiling qt applications

So I have bean trying to compile the wv application. because of the trouble cross compiling qt I used qemu to emulate the chumby cpu and used the debian arm image.  Now I get bus error when ever i try to execute the wv program. I thing this may be because of the slightly differing lib versions. Does that sound right? On the chumby I am using the qt libraries included with the browser usb image. Is their an easier way to compile qt apps for the chumby?

Re: Cross Compiling qt applications

I've cross compiled QT apps using the chumby toolchain.  Why did you go the (IMHO) complicated route using qemu?

You're probably right about the bus error being from incompatible lib versions, or maybe some bad qemu settings for eabi or something crazy.

Maybe you can post details of how you tried doing things?

My build went something like this:

Start with tslib

./configure --host=arm-linux --prefix=/mnt/storage
make
make install

Then I compiled openssl

export cross=arm-linux-
./Configure --prefix=/mnt/storage -no-dso linux-elf-arm shared
make CC="${cross}gcc" AR="${cross}ar r" RANLIB="${cross}ranlib"
make install

Then I compiled qt (this took a while):

./configure -embedded arm -pch -prefix /mnt/storage -qt-mouse-tslib -L/mnt/storage/lib/ -I/mnt/storage/include/ -webkit -openssl -no-feature-CURSOR -nomake demo -nomake examples -opensource
make
make install

Then I could simply run the qmake -project to get my .pro and build stuffs, then build.

Linux Guy - Occasional Chumby Hacker

Re: Cross Compiling qt applications

Thank you very much. I had tried compiling Qt on my x86 machine, but I kept getting stray x86 instructions in the arm binary. I was missing the --prefix option.

Re: Cross Compiling qt applications

Glad you got it working!  Any other issues, just make a post and see who can help.

What Qt apps are you playing with?

Linux Guy - Occasional Chumby Hacker

Re: Cross Compiling qt applications

My goal is a web-view based very simple control panel, so the only thing I an doing "custom" is a menu that will appear when the top button is pressed and some way to interface with the volume encoder via javascript.