"... libQt3Support.so.4 - undefined symbol - _ZN14QObjectPrivate15checkWindowRoleEv"

Last edited on

Symptoms

You are getting error messages like these in the Runner/Server Log:

S: Preload (26740040): Loaded Qt Gui library from /opt/myapp/lib64/libQtGui.so.4

S: Preload (26740040): Loading Qt Wrapper failed: /usr/lib64/libQt3Support.so.4: undefined symbol: _ZN14QObjectPrivate15checkWindowRoleEv

Possible causes

Use of libQt3Support.so.4 as provided by Ubuntu or Red Hat

The standard Squish binary packages are built with - and thus depend on - Qt3Support.

If your application does not ship with the Qt3Support library and your application is being run by Squish then operating system will probably load the version of this library that is provided by Ubuntu (located in /usr/lib/libQt3Support.so.4 or /usr/lib64/libQt3Support.so.4).

Unfortunately, the Qt3Support library provided by Ubuntu is binary incompatible with Squish because of patches or changes to it by Ubuntu. This may be the case with Qt provided by other Linux distributions, too.

Solution #1 - Provide Qt3Support library from your Qt build

This is a simple solution that should work with the Squish binary package that you already have. Simply copy the libQt3Support.so.4 into the same folder as the other Qt libraries of your application.

Solution #2 - Use a Squish Pure Qt 4 binary package

These types are packages are available on request and are built without Qt3Support.