[Gammaray-interest] Qt Internals problem
Stefano Cordibella
stefano.cordibella at edalab.it
Tue Oct 29 11:14:51 CET 2013
Thank you Kevin for your quick answer!
In my environment I am unable to auto-detect QT_PRIVATE_INCLUDE_DIR.
I export qmake bin dir in this way:
export PATH=/usr/local/Trolltech/Qt-4.8.4/bin:$PATH
But CMake told me :
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Building GammaRay 1.3.2 in Release mode
-- Looking for Q_WS_X11
-- Looking for Q_WS_X11 - found
-- Looking for Q_WS_WIN
-- Looking for Q_WS_WIN - not found.
-- Looking for Q_WS_QWS
-- Looking for Q_WS_QWS - not found.
-- Looking for Q_WS_MAC
-- Looking for Q_WS_MAC - not found.
-- Found Qt4: /usr/local/Trolltech/Qt-4.8.4/bin/qmake (found suitable
version "4.8.4", required is "4.7.0")
-- Looking for clock_gettime in rt
-- Looking for clock_gettime in rt - found
-- Looking for include files HAVE_STDINT_H
-- Looking for include files HAVE_STDINT_H - found
-- Performing Test HAVE_GCC_UNUSED_BUT_SET
-- Performing Test HAVE_GCC_UNUSED_BUT_SET - Success
-- Performing Test HAVE_GCC_LOGICAL_OP
-- Performing Test HAVE_GCC_LOGICAL_OP - Success
-- Looking for include files HAVE_GRAPHVIZ_VERSION_H
-- Looking for include files HAVE_GRAPHVIZ_VERSION_H - found
-- Found Graphviz version 2.26.3
-- Found Graphviz: /usr/lib/libcdt.so /usr/lib/libgvc.so
/usr/lib/libcgraph.so /usr/lib/libgraph.so /usr/lib/libpathplan.so
-----------------------------------------------------------------------------
-- The following external packages were located on your system.
-- This installation will have the extra features provided by these
packages.
-----------------------------------------------------------------------------
* Script engine debugger in Qt - A debugger for QtScript
* WebKit in Qt - A Qt-based web browser engine
* Qt SVG - Qt SVG renderer and generator
* Qt Designer Library - Qt graphical widget editor
* Qt Print Support - Qt PDF generation
* librt - High resolution clock for the timer profiler plugin.
* Graphviz - Graph visualization software
* VTK - Visualization Toolkit
-----------------------------------------------------------------------------
-- The following OPTIONAL packages could NOT be located on your system.
-- Consider installing them to enable more features from this software.
-----------------------------------------------------------------------------
* Qt internals (4.7.0 or higher) <http://developer.qt.nokia.com/>
Private Qt headers, necessary for painter debugging/profiling.
You must have a build version of Qt available. Make sure the qmake
found first in your execute comes from this build version.
* KDE4 <http://www.kde.org/>
KDE libraries
Required for the KJob tracker plug-in
-----------------------------------------------------------------------------
-- Configuring done
-- Generating done
-- Build files have been written to: /home/juba/Qt/GammaRay-1.3.2/build
So I try to set the QT_PRIVATE_INCLUDE_DIR manually via make edit_cache:
/home/juba/Qt/qt-everywhere-opensource-src-4.8.4/include/QtCore
After this the HARFBUZZ_INCLUDE_DIR become set to:
/home/juba/Qt/qt-everywhere-opensource-src-4.8.4/src/3rdparty/harfbuzz/src
After this setting I generate the Makefiles, but the build doesn't
complete...
The reported error is:
[ 38%] Building CXX object
core/CMakeFiles/gammaray_probe.dir/mainwindow.cpp.o
/home/juba/Qt/GammaRay-1.3.2/core/mainwindow.cpp:38:68: fatal error:
private/qguiplatformplugin_p.h: No such file or directory
compilation terminated.
make[2]: *** [core/CMakeFiles/gammaray_probe.dir/mainwindow.cpp.o] Error 1
make[1]: *** [core/CMakeFiles/gammaray_probe.dir/all] Error 2
make: *** [all] Error 2
So I check the GammaRay root directory and I found the file in
3rdparty/qt/private/qguiplatformplugin_p.h
The file is also present in
qt-everywhere-opensource-src-4.8.4/src/gui/kernel/qguiplatformplugin_p.h
and
qt-everywhere-opensource-src-4.8.4/include/QtGui/private/qguiplatformplugin_p.h,
but I haven't diff the content.
Any idea to fix this build issue?
(I prefer to use mailing list in order to keep a reference to the
solution of the problem, so other people may track this solution).
Stefano.
On 10/29/2013 09:33 AM, Kevin Funk wrote:
> On Tuesday 29 October 2013, 08:57, Stefano Cordibella wrote:
>> Hi again,
>> I have a question about compiling GammaRay with Qt internals
>> feature enable.
>> What is the directory that I should provide for this feature?
>> I edit the cmake cache and I found an entry named QT_PRIVATE_INCLUDE_DIR
>> but if I set a value for it I am unable to build GammaRay.
>> The documentation refer to the "build" directory of Qt, and I don't
>> understand if it refers to the source directory in which I compile the
>> library (my ~/Qt/qt-everywhere-opensource-src-4.8.4) or the installation
>> directory (the default /usr/local/Throlltech/Qt-4.8.4/).
>>
>> Forgive me for this stupid question, but I am unable to find
>> documentation about this topic...
>>
>> Thanks in advance,
>> Stefano.
> Hey Stefano,
>
> unfortunately this is not a stupid question at all. It is a bit tricky to get
> right with a Qt4 build at the moment. It's lacking documentation.
>
> So, in order to enable that feature, QT_PRIVATE_INCLUDE_DIR should point to
> "$MY_QT4_IN_SOURCE_BUILD_DIRECTORY/include/QtCore". Note that you don't have
> to specify that variable via CMake flags or anything, it's auto-detected in
> case everything is alright.
>
> It's important that you have an *in-source build* of Qt4 (the directory must
> contain both a src/ and include/ directory after having compiled Qt) -- it's
> currently not possible to make this work with an out-of-source build.
>
> Hope this clears up things a bit. In case you need to debug further, have a
> look at the root CMakeLists.txt file in GammaRay.git.
>
> Feel free to ping us on #gammaray on Freenode (IRC).
>
> Greets
--
*Stefano Cordibella*
EDALab s.r.l. - Networked Embedded Systems
Strada Le Grazie, 15 - 37134 Verona - Italy
email : stefano.cordibella at edalab.it
skype : stefano.cordibella
tel. : +39 045 802 70 85
web : www.edalab.it
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kdab.com/pipermail/gammaray-interest/attachments/20131029/023e3d05/attachment.html>
More information about the Gammaray-interest
mailing list