qtopia on mini2440

david
HI im tring to build an application for my mini2440 im following the
instrution of:

http://www.sereno-online.com/site/2010/05/01/qt-4-6-2-installation-proce...

but when i put the command:

./configure -embedded arm -xplatform qws/linux-arm-g++ -prefix
=/usr/local/Qt -qt-mouse-tslib -little-endian -no-webkit -no-qt3support \
-no-cups -no-largefile -optimized-qmake -no-openssl -nomake tools

appears me this mistake:

The tslib functionality test failed!
 You might need to modify the include and library search paths by editing
 QMAKE_INCDIR and QMAKE_LIBDIR in
 /home/felipe/qt-mini/mkspecs/qws/linux-arm-g++.

i saw a similar forum about this here : qtopia everywhere

but it doesnt say how can i solve this problem.

can anybody helpme?

david
HI i could fix the problem using this code:

./configure -embedded arm -xplatform qws/linux-arm-g++ -prefix \
/usr/local/Qt -little-endian -no-webkit -no-qt3support \
-no-cups -no-largefile -optimized-qmake -no-openssl -nomake tools

but when i put make command appears me this mistake:

make[1]: arm-none-linux-gnueabi: No se encontró el programa
make[1]: *** [../../lib/libQtCore.so.4.6.2] Error 127
make[1]: se sale del directorio `/home/felipe/qt-mini/src/corelib'
make: *** [sub-corelib-make_default-ordered] Error 2

can anybody help me ? thanks

david
hi i found a solution

QMAKE_LINK = arm-none-linux-gnueabi-g++

i had and space between - and g++

QMAKE_LINK = arm-none-linux-gnueabi- g++

but now appearsme this:

.obj/release-shared-emb-arm/qtconcurrentiteratekernel.o: In function
`getticks()':
qtconcurrentiteratekernel.cpp:(.text+0x278): undefined reference to
`clock_gettime'
collect2: ld returned 1 exit status
make[1]: *** [../../lib/libQtCore.so.4.6.2] Error 1
make[1]: se sale del directorio `/home/felipe/qt-mini/src/corelib'
make: *** [sub-corelib-make_default-ordered] Error 2


grrr there is a mistake in every single step grrr what could be now??

help

david
Hi i could solve the problem i have to fix the file qmake.conf who its
found on mkspecs/qws/linux-arm-g++ 

QMAKE_RANLIB = arm-none-linux-gnueabi –ranlib


QMAKE_RANLIB     = arm-none-linux-gnueabi-ranlib

the problem was this line: "–"

i could compile well and it also went succesfull when i put make and  make
install commands.

my problem now its that i dont understand this step:

In order to run our ARM compiled applications we have to set following
environment variables on the mini2440 board:

export TSLIB_TSEVENTTYPE=INPUT

export TSLIB_CONSOLEDEVICE=none

export TSLIB_FBDEVICE=/dev/fb0

export TSLIB_TSDEVICE=/usr/input/ts

export TSLIB_CALIBFILE=/usr/etc/pointercal

export TSLIB_CONFFILE=/usr/etc/ts.conf

export TSLIB_PLUGINDIR=/usr/lib/ts

export LD_LIBRARY_PATH=/usr/local/Qt/lib

export QTDIR=/usr/local/Qt

export QWS_MOUSE_PROTO=tslib:/usr/input/ts

export QWS_DISPLAY=LinuxFB:mmWidth=310:mmHeight=190


Where do i have to put this lines??

and isnt it a problem that i dont use this command :"-qt-mouse-tslib"     
when i configure qt?

i read that mini already has this librarie but i have the doubt

fundu
I have the same problem. can someone help.

TIA !

david
and other thing i install qt creator on my ubuntu machine how is it suppose
that i compile my programs with the qmake i have create??

i tried following this steps:

"In QtCreator just go to the options, add a new version of Qt. The qmake is
available in /usr/local/Qt/bin/qmake"

thats what i did but the program doesnt let me do the changes

who can help me with this two simple doubts?? i know that many people
already has done this.

hellp!!!

david
hellp!!

Almagest
Hello.

I use another board than you do, (freescale i.mx51) but i enabled the
touchscreen support yesterday.

Check if the tslib binaries are present.
The following commands should be able to run on your target (the board);

./ts_test
./ts_configure

There are other binaries as well, but if these work, i assume you have
compiled tslib correctly.

The 'exports' lines, should be runned from the terminal on the board as
well, they will be used as input for tslib. Run a line at a time. You can
check that the variable is set by running: echo $TSLIB_TSEVENTTYPE (an
example).

The most important once are these; check your /dev/input to see
alternatives for the input device.

I used these two, but with ts0 instead of ts. Important that they refer to
the same device.

export TSLIB_TSDEVICE=/usr/input/ts
export QWS_MOUSE_PROTO=tslib:/usr/input/ts

After that run the following command;

./ts_configure

I everything is correct, you should see crosshairs on the screen you should
touch to calibrate.

After this i could run QT-apps with touchscreen support.

-almagest

Slash
I followed the same tutorial as David and I was able to build Qt for
mini2440. I then transferred the Qt library to mini2440 at
usr/local/Qt/lib.
I changed the environment variables as instructed from the guide.
I am able to compile apps for the mini2440 from my host. 
But when I run them on the mini2440, I get the following error:

error while loading shared libraries: libQtGui.so.4: cannot open shared
object file: no such file or directory

Please help

davef
Have you checked that libQtGui.so.4 is in usr/local/Qt/lib on the mini2440
and is the correct format?

I will be interested in the outcome as this was as far as I got before
giving up!

Good luck,
Dave

Slash
Hi Dave,
There was some problem regarding the libraries. The Qt libraries are named
as libQtXxx.so.4.x.x. The cross compiled Qt/lib directory contains symbolic
links to libQtXxx.so.4.
I use a USB stick to move files to the mini2440 and hence, the links are
lost while copying and well, I didn't look what these links point to. So
according to me, a better way out is to copy the Qt/lib directory to the
memory stick and rename the library files from libQtXxx.so.4.x.x to
libQtXxx.so.4. 

I have just spend two days with the board and well, I didn't notice that it
has Qt-4.6.3 library installed in it.  There was also an app in FriendlyArm
pane called Qt-4.6.3 demo. It is actually an app launcher and has many
Qt-4.6.3 apps in it. They all run fine. The library is located at
/usr/local/Trolltech/QtEmbedded-4.6.3-arm/lib on the board.

So I added /usr/local/Trolltech/QtEmbedded-4.6.3-arm/lib to
LD_LIBRARY_PATH. I ran the mouse calibration program (the 4.6.2 one) and it
didn't give me the shared library error. But I am getting "Transformation
error: Driver not found. Aborted".

Any clue?
Thanks :)

sagar
hi,
can some one give me the detail step wise installation process in linux for
QT-4 to develop applications for mini2440.

davef
http://billforums.station51.net/viewforum.php?f=8&sid=da7126ee36b846...

There are heaps of tutorials around.  Tell "us" which ones you have tried
and get back with your errors and questions.

sagar
i tried as steps mention in URl.....and complete those ,but i am not aware
of things further to do........

http://www.sereno-labs.com/qt-4-6-2-installation-procedure-for-friendlya...

davef
So, you have everything installed and tried the hello examples and you now
you want to know what to do next?

Something that would focus your efforts is what application do you want to
make?  It really helps to have a project or idea to develop.

Likewise, I have spent the last year or so learning how to do various tasks
on this platform BUT would fall back to developing real applications on the
8bit platform I know so well.  Of course there are many things I couldn't
do on that platform, but until a BIG project says "develop me" on the ARM
platform I will continue to just "play" with it.

So, what do you want to do?

Dave

sagar
i just want to use Qt4 components which are not in Qt 2.such as timer......

sagar
main issue is that after configuring all the settings,how to compile the
project.....

santosh R patel
hi 
i have installed qt 4.6.3 success fully.i have created a application hello
with the following source .i get compiled but when i run application to my
target board with ./hello -qws option it gets me error 
illegal instruction.

#include <QApplication>
#include <QLabel>
int main(int argc, char*argv[])
{
QApplication app(argc, argv);
QLabel *label = new QLabel("Hello Qt!");
label->show();
return app.exec();
}


[root@FriendlyARM /mnt]# ./hello -qws
Illegal instruction

Tan
I don't have the Qt Designer on the CD which i got with my mini, therefore
i can't make any apps for it. Can somebody mail me the download link for Qt
Designer from Trolltech for qtopia 2.2.0 or post it as a download link in
your blog. My mail id is tanushri.c [at] gmail [dot] com

Regards
Tan

Tan
I don't have the Qt Designer on the CD which i got with my mini, therefore
i can't make any apps for it. Can somebody mail me the download link for Qt
Designer from Trolltech for qtopia 2.2.0 or post it as a download link
here. My mail id is tanushri.c [at] gmail [dot] com

Regards
Tan

Ravivarman
ftp://ftp.qt.nokia.com/qt

smith
.obj/release-shared-emb-arm/qtconcurrentiteratekernel.o: In function
`getticks()':
qtconcurrentiteratekernel.cpp:(.text+0x3c): undefined reference to
`clock_gettime'
collect2: ld returned 1 exit status
gmake[1]: *** [../../lib/libQtCore.so.4.6.3] Error 1
gmake[1]: Leaving directory
`/home/envirotech/Qt/arm-qte-4.6.3/qt-everywhere-opensource-src-4.6.3/src/coreli
b'
gmake: *** [sub-corelib-make_default-ordered] Error 2

How to solve this problem

davef
I'd be checking to see that a qtconcurrentiteratekernel.h was being
included by qmake or whatever is doing the linking.  And have you got a
qtconcurrentiteratekernel.h file in the source somewhere?

sushant
How to cross compile the qt lib for mini2440

smith
The tslib functionality test failed!
You might need to  modify the include and lib search path by editing
QMAKE_INCDIR & QMAKE_LIBDIR inmkspec/qws/linux-arm-g++

This error generate in qt install for embedded arm

pavanbobba
Thanks for your guidence in building of mini2440.
But i faced some problems while configuring Qt by following command

./configure -embedded arm -xplatform qws/linux-arm-g++ -prefix
/usr/local/Qt -qt-mouse-tslib -little-endian -no-webkit -no-qt3support
-no-cups -no-largefile -optimized-qmake -no-openssl -nomake tools
-qt-sql-sqlite -no-3dnow -system-zlib -qt-gif -qt-libtiff -qt-libpng
-qt-libmng -qt-libjpeg -no-opengl -gtkstyle -no-openvg -no-xshape -no-xsync
-no-xrandr -qt-freetype -qt-gfx-linuxfb -qt-kbd-tty -qt-kbd-linuxinput
-qt-mouse-tslib -qt-mouse-linuxinput

I got the following error….

project.o: could not read symbols: File in wrong format
collect2: ld returned 1 exit status
make: *** [/usr/local/qt-everywhere-opensource-src-4.6.3/bin/qmake] Error 1

please help me

davef
Check out this tutorial:

http://mini2440vietnam.blogspot.co.nz/2011/04/upgrade-qt462-in-mini2440....

Maybe it helps.

Ngoc Nguyen
@Pavanbobba 

I had exactly the same problem to you. Add these QMAKE_INCDIR and
QMAKE_LIBDIR like davef posted, but it did not solve the problem.

Then, I added the QMAKE_LIBS = -lrt, the problem solved. 
There is error because we need real-time link for library. 
Hope to help you in your case.

Ngoc Nguyen
@Pavanbobba 

Sorry for the last post, it was wrong, -lrt lib is for solving problem of
the following error: 
undefined reference to `clock_gettime' - error 1 

In your case, I also had this problem before. 
My problem is because of using x64 toolchain croos-compiler instead of x86
toolchain.

Mosi
Guys I have a problem
I have libQtGui.so.4 in usr/local/Qt/lib and I can run Qt demos without a
problem but when I try to run my own program which was written in Qt I get
this error in console:
error while loading shared libraries: libQtGui.so.4: cannot open shared
object file: No such file or directory

It's pretty much weird considering all demos are running just fine. 
What do you think ?

Sandeep Sondagar
@Mosi,

add
"export QTDIR=/usr/local/Qt 
export QWS_DISPLAY=LinuxFB:mmWidth=105:mmHeight=140"
in /etc/profile
(without Quotes"