Hi Brent,
I have the LCD7 and have been able to successfully get qt/tslib compiled/installed and calibrating etc - I built everything on a host Ubuntu 12.04.1 LTS. It took a lot of fiddling/trial and error (I have no previous experience with qt…), so I documented my steps as follows (compare with your own; see how you go) - check the paths I use, especially /home/bone/… etc. as this is specific to my user name:
- Download Qt from ‘http://qt-project.org/downloads’ the latest stable release of the Qt Libraries for Embedded Linux (e.g. http://releases.qt-project.org/qt4/source/qt-everywhere-opensource-src-4.8.3.tar.gz).
a. mkdir ~/qt
b. cd ~/qt
c. wget http://releases.qt-project.org/qt4/source/qt-everywhere-opensource-src-4.8.3.tar.gz
d. tar -xvzf qt-everywhere-opensource-src-4.8.3.tar.gz
e. Install Necessary Packages:
i. sudo apt-get install libgmp3-dev
ii. sudo apt-get install libmpfr
iii. sudo apt-get install zlib1g-dev
iv. sudo apt-get install libncurses5-dev
f. cd qt-everywhere-opensource-src-4.8.3
g. gedit mkspecs/qws/linux-arm-gnueabi-g++/qmake.conf and change all of the ‘arm-none’ to ‘arm-angstrom’ to match the compiler executables…
h. Including ‘tslib’:
i. Install Necessary Packages:
-
sudo apt-get install autoconf
-
sudo apt-get install libtool
ii. cd ~
iii. git clone https://github.com/kergoth/tslib.git
iv. cd tslib
v. Don’t Forget: . ~/.oe/environment-angstromv2012.05
vi. ./autogen.sh
vii. ./configure --prefix=$HOME/tslib_beaglebone --host=arm-angstrom-linux-gnueabi
viii. make
ix. make install
x. Output files can be found in ~/tslib_beaglebone/
-
Copy the ‘/lib’ directory to ‘/usr/lib’ on the beaglebone.
-
Copy the ‘/bin’ directory to the ‘/usr/bin’ on the beaglebone.
-
Copy ‘/etc/ts.conf’ to ‘/etc’ on the beaglebone.
-
Uncomment line 2 in ts.conf, i.e. ‘module_raw input’
-
Call the following from the Beaglebone command line (or make a script):
a. export QWS_MOUSE_PROTO=tslib:/dev/input/event0
b. export TSLIB_CALIBFILE=/etc/pointercal
c. export TSLIB_CONFFILE=/etc/ts.conf
d. export TSLIB_PLUGINDIR=/usr/lib/ts
- Run ‘ts_calibrate’ and complete the calibration. Call ‘cat /etc/pointercal’ to verify the calibration file has been written.
xi. Add the following lines to / qt-everywhere-opensource-src-4.8.3/ mkspecs/qws/linux-arm-gnueabi-g++/qmake.conf :
-
QMAKE_INCDIR += /home/bone/tslib/src
-
QMAKE_LIBDIR += /home/bone/tslib_beaglebone/lib
-
Configure and build Qt: LAST USED COMMAND: ./configure -v -opensource -confirm-license -xplatform qws/linux-arm-gnueabi-g++ -embedded arm -little-endian -prefix /opt/qt-arm -no-cups -no-accessibility -reduce-relocations -no-nas-sound -no-sm -no-nis -qt-libjpeg -qt-libpng -qt-zlib -no-sql-ibase -no-sql-mysql -no-sql-odbc -no-sql-psql -no-sql-sqlite -no-sql-sqlite2 -no-pch -no-dbus -no-glib -no-phonon -no-phonon-backend -no-webkit -no-multimedia -no-audio-backend -no-qt3support -nomake docs -nomake translations -exceptions -no-fast -qt-mouse-tslib
-
make
-
make install
-
copy all .so files from ‘/opt/qt-arm/lib/’ on the host ubuntu machine to the same location on the beaglebone:
a. From Ubuntu:
i. cd /opt/qt-arm/lib
ii. tar -cpvzf qt_arm_lib.tar.gz *
b. From the beaglebone:
i. mkdir /opt
ii. mkdir /opt/qt-arm
iii. mkdir /opt/qt-arm/lib
iv. cd /opt/qt-arm/lib
v. scp bone@10.192.0.115:/opt/qt-arm/lib/qt_arm_lib.tar.gz ./
vi. tar -xvf qt_arm_lib.tar.gz
vii. export LD_LIBRARY_PATH=/opt/qt-arm/lib:$LD_LIBRARY_PATH
- Install Packages (not sure if absolutely necessary):
a. opkg install libgles-omap3
b. opkg install libstdc++6
c. opkg install libpng12-0
- Test out an example (on the beaglebone):
a. cd ~
b. mkdir qttest
c. cd qttest
d. scp bone@10.192.0.115:/opt/qt-arm/examples/animation/stickman/stickman ./
e. ./stickman -qws
Good luck!
Andrew.