MantisBT - CMake
View Issue Details
0012547CMakeModulespublic2011-10-29 07:222011-11-01 09:46
George Petasis 
Clinton Stimpson 
normalblockalways
closedno change required 
LinuxUbuntu 11,04
CMake 2.8.5 
 
0012547: FindQt4 fails to find QtCore lib
FindQt4 uses QT_LIBINFIX (from qconfig.pri) to locate libraries,
but under Ubuntu qconfig.pri reports QT_LIBINFIX as empty (has no value).

So, FindQt4 cannot locate the QtCore library, named as:
/usr/lib/i386-linux-gnu/libQtCore.so.4
/usr/lib/i386-linux-gnu/libQtCore.so.4.7
/usr/lib/i386-linux-gnu/libQtCore.so.4.7.4

So, this fails:

FIND_LIBRARY(QT_QTCORE_LIBRARY_RELEASE
             NAMES QtCore${QT_LIBINFIX} QtCore${QT_LIBINFIX}4
             HINTS ${QT_LIBRARY_DIR_TMP}
)
No tags attached.
Issue History
2011-10-29 07:22George PetasisNew Issue
2011-10-29 07:24George PetasisNote Added: 0027671
2011-10-29 10:46Clinton StimpsonNote Added: 0027672
2011-10-31 15:51Alex NeundorfNote Added: 0027679
2011-10-31 15:51Alex NeundorfAssigned To => Clinton Stimpson
2011-10-31 15:51Alex NeundorfStatusnew => assigned
2011-10-31 16:18Clinton StimpsonNote Added: 0027680
2011-10-31 16:54George PetasisNote Added: 0027681
2011-10-31 17:03Clinton StimpsonNote Added: 0027682
2011-10-31 17:21George PetasisNote Added: 0027683
2011-10-31 17:24Alex NeundorfNote Added: 0027684
2011-10-31 17:33George PetasisNote Added: 0027685
2011-10-31 17:42George PetasisNote Added: 0027686
2011-10-31 17:43George PetasisNote Added: 0027687
2011-10-31 17:51Clinton StimpsonNote Added: 0027688
2011-11-01 03:38George PetasisNote Added: 0027689
2011-11-01 09:46Clinton StimpsonStatusassigned => closed
2011-11-01 09:46Clinton StimpsonResolutionopen => no change required

Notes
(0027671)
George Petasis   
2011-10-29 07:24   
The contents of qconfig.pri:

#configuration
CONFIG += def_files_disabled exceptions no_mocdepend release stl qt_no_framework
QT_ARCH = i386
QT_EDITION = OpenSource
QT_CONFIG += minimal-config small-config medium-config large-config full-config qt3support accessibility opengl reduce_exports ipv6 clock-gettime clock-monotonic mremap getaddrinfo ipv6ifname getifaddrs inotify system-jpeg system-mng system-png png system-tiff system-freetype system-zlib nis cups iconv glib dbus dbus-linked nas openssl x11sm xshape xvideo xsync xrender mitshm fontconfig xinput2 xkb alsa xmlpatterns audio-backend svg script scripttools declarative release

#versioning
QT_VERSION = 4.7.4
QT_MAJOR_VERSION = 4
QT_MINOR_VERSION = 7
QT_PATCH_VERSION = 4

#namespaces
QT_LIBINFIX =
QT_NAMESPACE =
QT_NAMESPACE_MAC_CRC =

QT_GCC_MAJOR_VERSION = 4
QT_GCC_MINOR_VERSION = 6
QT_GCC_PATCH_VERSION = 1
(0027672)
Clinton Stimpson   
2011-10-29 10:46   
QT_LIBINFIX is supposed to be empty in your case.
What cmake is looking for is libQtCore.so
Where is that? Did you install the dev package for that?
(0027679)
Alex Neundorf   
2011-10-31 15:51   
Looks like the Debian multiarch stuff: http://wiki.debian.org/Multiarch [^]

Alex
(0027680)
Clinton Stimpson   
2011-10-31 16:18   
What does "qmake-qt4 -query" give? (or just qmake if you don't have qmake-qt4)
(0027681)
George Petasis   
2011-10-31 16:54   
petasis@ubuntu:~$ qmake-qt4 -query
QT_INSTALL_PREFIX:/usr
QT_INSTALL_DATA:/usr/share/qt4
QT_INSTALL_DOCS:/usr/share/qt4/doc
QT_INSTALL_HEADERS:/usr/include/qt4
QT_INSTALL_LIBS:/usr/lib/i386-linux-gnu
QT_INSTALL_BINS:/usr/bin
QT_INSTALL_PLUGINS:/usr/lib/i386-linux-gnu/qt4/plugins
QT_INSTALL_IMPORTS:/usr/lib/qt4/imports
QT_INSTALL_TRANSLATIONS:/usr/share/qt4/translations
QT_INSTALL_CONFIGURATION:/etc/xdg
QT_INSTALL_EXAMPLES:/usr/lib/qt4/examples
QT_INSTALL_DEMOS:/usr/lib/qt4/demos
QMAKE_MKSPECS:/usr/share/qt4/mkspecs
QMAKE_VERSION:2.01a
QT_VERSION:4.7.4
(0027682)
Clinton Stimpson   
2011-10-31 17:03   
You don't have /usr/lib/i386-linux-gnu/libQtCore.so ?
If it is not there, where is it? With the info given so far, I can only suspect an incomplete Qt installation.

To clarify the original confusion, the QT_LIBINFIX is for custom builds of Qt with modifies library names such as libQtCore-mysuffix.so.
(0027683)
George Petasis   
2011-10-31 17:21   
As I have written in my original post, only these files exist:

/usr/lib/i386-linux-gnu/libQtCore.so.4
/usr/lib/i386-linux-gnu/libQtCore.so.4.7
/usr/lib/i386-linux-gnu/libQtCore.so.4.7.4

There is no file /usr/lib/i386-linux-gnu/libQtCore.so.

Should one exist?
(0027684)
Alex Neundorf   
2011-10-31 17:24   
So you are missing the QtCore development package.
(0027685)
George Petasis   
2011-10-31 17:33   
There is no such package in ubuntu 11.10. I have spend a few hours searching for one. Do you know how it is called?
(0027686)
George Petasis   
2011-10-31 17:42   
I have looked also in my Fedora 15, and there the libs are:

[petasis@localhost ~]$ locate libQtCore
/usr/lib/libQtCore.prl
/usr/lib/libQtCore.so
/usr/lib/libQtCore.so.4
/usr/lib/libQtCore.so.4.7
/usr/lib/libQtCore.so.4.7.4

So, I suppose you are correct that something is missing in Ubuntu.

And searching through google showed that Qt is a recent addition in Ubuntu, and no references for a devel package.
Perhaps Ubuntu does not provide a devel package for Qt?
(0027687)
George Petasis   
2011-10-31 17:43   
But regarding this bug, perhaps it is not a CMake bug after all. Just an Ubuntu problem...
(0027688)
Clinton Stimpson   
2011-10-31 17:51   
The package is libqt4-dev

See here for details:
http://packages.ubuntu.com/oneiric/libqt4-dev [^]
In the list of files, it shows that package installs
/usr/lib/i386-linux-gnu/libQtCore.so
(0027689)
George Petasis   
2011-11-01 03:38   
Thanks for the package name. After installing libqt4-dev, FindQt4.cmake works.

Strangely enough, searching fro qt4-dev, qt4-devel, etc., shows nothing in software center. Only if I search for libqt4-dev it does show up...

Thanks for your help.