Qt: Qt Embedded with dbus

If you want Qt Embedded with dbus support make sure you cross compile the expat and dbus libraries. These are instructions I’ve researched and worked for a co-worker but not me. Hopefully you’ll have better luck

  1. tar zxvf expat-2.x.x.tar.gz
  2. cd expat-2.x.x/
  3. ./configure --host=arm-linux --prefix=/usr/local/expat/ CC=arm-none-linux-gnueabi-gcc
  4. make; sudo make install
  • cross-compile dbus
  1. tar zxvf dbus-1.x.x.tar.gz
  2. cd dbus-1.x.x
  3. ./configure --prefix=/usr/local/dbus/ --host=arm-linux --with-x=no ac_cv_have_abstract_sockets=yes "CC=arm-none-linux-gnueabi-gcc -I/usr/local/expat/include -L/usr/local/expat/lib"
  4. make; sudo make install;

Qt Configuration:


export PKG_CONFIG_PATH=/usr/local/dbus/lib/pkgconfig
./configure -prefix /opt/qt-4.8.4/ti8148 -embedded arm -little-endian -opensource -confirm-license -xplatform qws/linux-j5-g++ -dbus -force-pkg-config -v -no-qt3support -nomake examples

Errors I ran into and cannot solve:

/opt/toolchain/arm-2009.q1/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/../../../../arm-none-linux-gnueabi/bin/ld: cannot find -lgio-2.0

rm: cannot remove `.libs/dbus-monitor’: Permission denied
/opt/toolchain/arm-2009.q1/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/../../../../arm-none-linux-gnueabi/bin/ld: cannot open output file .libs/dbus-monitor: Permission denied

The gio-2.0 problem is probably associated with Ubuntu 10.04. Trying with Ubuntu 11 and 12 running the same commands produced no errors.

ARGGG spent like 2 days trying to figure this out!

Reference:
QT Centre – dbus

This entry was posted in Embedded, Linux, Qt and tagged , , , , , . Bookmark the permalink.

Leave a comment