Enable to run QT application in beagleboard (Angstrom)
-
hello everyone.
I want to run QT application in beagleboard - xm (target board).
in beagle board, i had boot Angstrom OS.so, what i did.
i had install arm cross complier and qt library files for beagleboard in host PC(ubuntu 11.04).
Using QT creater i had made one qt application(that i want to run in beagleboard).
in target board (beagle board), i set enivorment for qt (copy qt library files which i found from /opt/qt-arm/lib (from host PC). and also set PATH variable of /etc/profile as /opt/qt-arm/lib).
and also copy project's executable file to beagleboard
when i run that executable file using below command,
#./app -qws
i got error like:
./app: error while loading shared libraries: /opt/qt-arm/lib/libQtGuiE.so.4: file too short.
help me. how to fix this error.
-
Solution 1
Problems during the copy process. Please verify the lib size again with the original used one on your host PC.
Solution 2
/opt/qt-arm/lib/libQtGuiE.so.4 is a soft link which points to the wrong library
verify it with "ls -asl /opt/qt-arm/lib/libQtGuiE.so.4"Solution 3
ldconfig found another version of libQtGuiE
Check LD_LIBRARY_PATH and /etc/ld.so.conf -
fixed problem.
in host side, libQtGuiE.so.4, libQtGuiE.so.4.6, libQtGuiE.so.4.6.2 all are linked together.
but when i copied it to beagleboard, they were not linked together.
how to link together?
-
tar cvfz QtLib.tgz /opt/qt-arm/lib/
- or -
copie only the non link file an create the soft link by:
ln -s libQtGuiE.so.4.6.2 libQtGuiE.so.4
ln -s libQtGuiE.so.4.6.2 libQtGuiE.so.4.6 -
When you copy library from pc to the Angstrom SD card use rsync:
@
rsync -av PC/librarypath/ SDCARD/librarypath/
@you also can use cp command but I don't remember the parameter to preserve symbolic links.
-
cp -p
or
cp --preserve=links