"libts-1.0.so.0 not found"

Last edited on

Symptom

When compiling for an embedded system that has Qt configured to use the libts touch screen library customers have reported linking errors like the one below:

/home/user/squish/arm-fsl-linux-gnueabi/bin/../lib/gcc/arm-fsl-linux-
gnueabi/4.4.4/../../../../arm-fsl-linux-gnueabi/bin/ld: warning:
libts-1.0.so.0, needed by /home/user/qt/qt-arm/lib/libQtGui.so, not found
(try using -rpath or -rpath-link)

/home/user/qt/qt-arm/lib/libQtGui.so: undefined reference to `ts_read_raw'
(and so on)

Possible Cause and Suggested Solution

This problem appears to be caused by the fact that the QtGui dependency libts-1.0.so is not found in a standard library search path. Thus linking against libQtGui.so only is not sufficient.

A quick and dirty solution to overcome this problem consists of adding the full path to the library as a new entry of the config[LIBQT] array found in the Build.conf created by the configure.

From automated builds this element can also be added like this:

./configure (other options) --with-qt-extra-lflags=/home/user/squish/qt/ts/lib/libts-1.0.so.0