Difference between revisions of "Qtopia core howto"

From Gumstix User Wiki
Jump to: navigation, search
m
(remove spam)
 
(7 intermediate revisions by 5 users not shown)
Line 1: Line 1:
 
We need to find the compiler (symlinks & path)
 
We need to find the compiler (symlinks & path)
  
   $ cd path-to/gumstix-oe/tmp/cross/bin ; for f in arm-angstrom-linux-gnueabi-*; do n=$(echo $f|cut -b 28-); ln -s $f arm-linux-$n; done
+
   $ cd gumstix/gumstix-oe/tmp/cross/armv7a/bin  
   $ PATH=$PATH:path-to/gumstix-oe/tmp/cross/bin/ ; export PATH
+
  $ for f in arm-angstrom-linux-gnueabi-*; do n=$(echo $f|cut -b 28-); ln -s $f arm-linux-$n; done
 +
   $ PATH=$PATH:gumstix/gumstix-oe/tmp/cross/armv7a/bin/ ; export PATH
  
 
Download and unpack qt-embedded. As of release candidate 1, the name has changed from qtopia to qt-embedded. The commands to get and unpack the qt-embedded release candidate for the gumstix are:
 
Download and unpack qt-embedded. As of release candidate 1, the name has changed from qtopia to qt-embedded. The commands to get and unpack the qt-embedded release candidate for the gumstix are:
  
   $ wget ftp://ftp.trolltech.com/qt/source/qt-embedded-linux-opensource-src-4.4.0-rc1.tar.gz
+
   $ wget ftp://ftp.qtsoftware.com/qt/source/qt-embedded-linux-opensource-src-4.5.0.tar.gz
   $ tar xzvf qt-embedded-linux-opensource-src-4.4.0-rc1.tar.gz ; cd qt-embedded-linux-opensource-src-4.4.0-rc1
+
   $ tar xzvf qt-embedded-linux-opensource-src-4.5.0.tar.gz ; cd qt-embedded-linux-opensource-src-4.5.0
  
I chose to install qt-embedded in the directory qt-4.4.0 under /usr/lib. If you would like to install it somewhere else, provide that location in the -prefix option.
+
I chose to install qt-embedded in the directory qt-4.5.0 under /usr/lib. If you would like to install it somewhere else, provide that location in the -prefix option.
  
 
Configure, make and make install. If you want to use the touchscreen for mouse input, it is best to include the tslib mouse driver configuration for qt-embedded. The correct configuration is:
 
Configure, make and make install. If you want to use the touchscreen for mouse input, it is best to include the tslib mouse driver configuration for qt-embedded. The correct configuration is:
  
   $ ./configure -embedded arm -little-endian -prefix /usr/lib/qt-4.4.0 -prefix-install -qt-mouse-tslib
+
   $ ./configure -embedded arm -little-endian -prefix /usr/lib/qt-4.5.0 -prefix-install -qt-mouse-tslib
 
   $ make
 
   $ make
 
   $ sudo make install INSTALL_ROOT=/tmp/qt-embedded
 
   $ sudo make install INSTALL_ROOT=/tmp/qt-embedded
Line 20: Line 21:
  
 
   $ cd /tmp/qt-embedded/usr/lib
 
   $ cd /tmp/qt-embedded/usr/lib
   $ tar zcf ~/qt-4.4.0.tar qt-4.4.0/{lib,plugins,translations}
+
   $ tar zcf ~/qt-4.5.0.tar qt-4.5.0/{lib,plugins,translations}
  
 
   gumstix: $ tar zxf qt-4.4.0.tar -C /media/cf ; ln -s /media/cf/qt-4,4,0/ /usr/lib/qt-4.4.0
 
   gumstix: $ tar zxf qt-4.4.0.tar -C /media/cf ; ln -s /media/cf/qt-4,4,0/ /usr/lib/qt-4.4.0
  
 
/media/cf can be substituted with /media/card if you are using a MicroSD expansion like the one that comes with the LCD Pack.
 
/media/cf can be substituted with /media/card if you are using a MicroSD expansion like the one that comes with the LCD Pack.
Additionally Symlinks cannot be stored on a FAT based disk. This means that the symbolic links like libQtGui.so.4 -> libQtGui.so.4.4.0 won't be present and your programs may not be able to find libQtGui.so.4 . To fix this either format the disk to a symlink compatible system (ext2) or make real copies of the libraries under the other name.
+
Additionally Symlinks cannot be stored on a FAT based disk. This means that the symbolic links like libQtGui.so.4 -> libQtGui.so.4.5.0 won't be present and your programs may not be able to find libQtGui.so.4 . To fix this either format the disk to a symlink compatible system (ext2) or make real copies of the libraries under the other name.
  
 
qt-embedded needs libstdc++, move it to your gumstix's /lib or somewhere it can be found
 
qt-embedded needs libstdc++, move it to your gumstix's /lib or somewhere it can be found
  
   $ cd path-to/gumstix-oe/tmp/staging/arm-angstrom-linux-gnueabi/lib/
+
   $ cd gumstix/gumstix-oe/tmp/staging/armv7a-angstrom-linux-gnueabi/lib/
 
   $ tar zcf ~/libstdc++.tar libstdc++.so*
 
   $ tar zcf ~/libstdc++.tar libstdc++.so*
  
Line 44: Line 45:
 
   $ export QWS_MOUSE_PROTO='tslib:/dev/input/touchscreen0'
 
   $ export QWS_MOUSE_PROTO='tslib:/dev/input/touchscreen0'
 
   $ ts_calibrate
 
   $ ts_calibrate
 +
 +
 +
== See Also  ==
 +
 +
*[http://processors.wiki.ti.com/index.php/Building_Qt Building Qt at wiki.ti.com]
  
  
 
[[Category:How_to_-_gui]]
 
[[Category:How_to_-_gui]]

Latest revision as of 15:28, 23 November 2010

We need to find the compiler (symlinks & path)

 $ cd gumstix/gumstix-oe/tmp/cross/armv7a/bin 
 $ for f in arm-angstrom-linux-gnueabi-*; do n=$(echo $f|cut -b 28-); ln -s $f arm-linux-$n; done
 $ PATH=$PATH:gumstix/gumstix-oe/tmp/cross/armv7a/bin/ ; export PATH

Download and unpack qt-embedded. As of release candidate 1, the name has changed from qtopia to qt-embedded. The commands to get and unpack the qt-embedded release candidate for the gumstix are:

  $ wget ftp://ftp.qtsoftware.com/qt/source/qt-embedded-linux-opensource-src-4.5.0.tar.gz
  $ tar xzvf qt-embedded-linux-opensource-src-4.5.0.tar.gz ; cd qt-embedded-linux-opensource-src-4.5.0

I chose to install qt-embedded in the directory qt-4.5.0 under /usr/lib. If you would like to install it somewhere else, provide that location in the -prefix option.

Configure, make and make install. If you want to use the touchscreen for mouse input, it is best to include the tslib mouse driver configuration for qt-embedded. The correct configuration is:

 $ ./configure -embedded arm -little-endian -prefix /usr/lib/qt-4.5.0 -prefix-install -qt-mouse-tslib
 $ make
 $ sudo make install INSTALL_ROOT=/tmp/qt-embedded

tar and move it to gumstix (~40 MB)

 $ cd /tmp/qt-embedded/usr/lib
 $ tar zcf ~/qt-4.5.0.tar qt-4.5.0/{lib,plugins,translations}
 gumstix: $ tar zxf qt-4.4.0.tar -C /media/cf ; ln -s /media/cf/qt-4,4,0/ /usr/lib/qt-4.4.0

/media/cf can be substituted with /media/card if you are using a MicroSD expansion like the one that comes with the LCD Pack. Additionally Symlinks cannot be stored on a FAT based disk. This means that the symbolic links like libQtGui.so.4 -> libQtGui.so.4.5.0 won't be present and your programs may not be able to find libQtGui.so.4 . To fix this either format the disk to a symlink compatible system (ext2) or make real copies of the libraries under the other name.

qt-embedded needs libstdc++, move it to your gumstix's /lib or somewhere it can be found

 $ cd gumstix/gumstix-oe/tmp/staging/armv7a-angstrom-linux-gnueabi/lib/
 $ tar zcf ~/libstdc++.tar libstdc++.so*
 libstdc++.so
 libstdc++.so.6
 libstdc++.so.6.0.8
 gumstix: $ tar zxf libstdc++.tar -C /lib


Set variables for qtopia & calibrate touchscreen. If you are using the tslib then you should calibrate the touch screen using ts_calibrate instead of the mousecalibration example. The environment variable QWS_MOUSE_PROTO should be set to tslib:/dev/input/touchscreen0

 $ export QWS_MOUSE_PROTO='tslib:/dev/input/touchscreen0'
 $ ts_calibrate


See Also