Qt5 development primer
Page |
2 |
Now I tried with Ubuntu 11.04 with an ATI gpu (might be relevant) and linker isn’t able to find GL libraries. Indeed, for some reason, there is no /usr/lib/libGL.so in my machine (not sure if this is normal) but only in /usr/lib/mesa and /usr/lib/fglrx.
If I add “-opengl desktop” to configure then it shows the message:
The OpenGL functionality test failed! You might need to modify the include and library search paths by editing QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in …/qt5/qtbase/mkspecs/linux-g++.
If I follow the suggestion and add those lines to qtbase/mkspecs/linux-g++/qmake.conf :
QMAKE_LIBDIR_OPENGL = /usr/lib/fglrx
QMAKE_INCDIR_OPENGL = /usr/include/GL
QMAKE_LIBS_OPENGL = -lGL
It doesn’t make a difference and linker is still unable to find the GL libraries, (I guess those macros are not being used)
However if I just add a symlink to any of the GL libs to /usr/lib it finally finds them.
Unfortunately, QtQuick2.0 examples (what I’m interested in) don’t work either, this time qmlscene SEGFAULTS in a seemingly unrelated call … I guess I’ll need to wait until a more stable version comes out.
Ubuntu 11.04 is used heavily in the development teams, so this should really work out of the box, without any environment variable tinkering. The libgl1-mesa-dev should include the /usr/lib/libGL.so file, try installing this package. (Btw, you can find out which package provides which file by using the “apt-get file search” command).
For reference, this is the output “configure -nokia-developer -nomake examples -nomake demos -nomake tests” gives me on an Ubuntu 11.04:
- Build type: linux-g++
- Architecture: i386
- Host architecture: i386
- Platform notes:
- - Also available for Linux: linux-kcc linux-icc linux-cxx
- Build .................. libs
- Configuration .......... debug shared dll qpa largefile stl precompile_header mmx 3dnow sse sse2 sse3 ssse3 sse4_1 sse4_2 avx minimal-config small-config medium-config large-config full-config fontconfig xlib xcb-xlib phonon-backend accessibility opengl qpa reduce_exports clock-gettime clock-monotonic mremap getaddrinfo ipv6ifname getifaddrs inotify system-jpeg system-mng system-png png system-tiff system-freetype system-zlib nis cups glib gstreamer dbus openssl xcb alsa pulseaudio concurrent audio-backend svg v8 debug private_tests
- Debug .................. yes
- QtConcurrent code ...... yes
- QtGui module ........... yes
- QtScript module ........ yes
- QtScriptTools module ... yes
- QtXmlPatterns module ... yes
- Phonon module .......... yes
- Multimedia module ...... auto
- SVG module ............. yes
- WebKit module .......... yes
- JavaScriptCore JIT ..... To be decided by JavaScriptCore
- V8 module .............. yes
- Declarative module ..... yes
- Declarative debugging ...yes
- Location module ........ no
- Support for S60 ........ no
- Symbian DEF files ...... no
- STL support ............ yes
- PCH support ............ yes
- MMX/3DNOW/SSE/SSE2/SSE3. yes/yes/yes/yes/yes
- SSSE3/SSE4.1/SSE4.2..... yes/yes/yes
- AVX..................... yes
- IPv6 ifname support .... yes
- getaddrinfo support .... yes
- getifaddrs support ..... yes
- Accessibility .......... yes
- NIS support ............ yes
- CUPS support ........... yes
- Iconv support .......... no
- Glib support ........... yes
- GStreamer support ...... yes
- PulseAudio support ..... yes
- Large File support ..... yes
- GIF support ............ plugin
- TIFF support ........... plugin (system)
- JPEG support ........... plugin (system)
- PNG support ............ yes (system)
- MNG support ............ plugin (system)
- zlib support ........... system
- Session management ..... auto
- OpenGL support ......... yes (Desktop OpenGL)
- OpenVG support ......... no
- MySQL support .......... plugin
- OpenSSL support ........ yes (run-time)
- Alsa support ........... yes
- ICD support ............ no
- libICU support ......... no
- Xcb support ............ limited (old version)
this is what I got, I’ll check on Monday if getting rid of the differences makes any difference:
- --- a/jean
- +++ b/kkoehne
- -Phonon module .......... no
- +Phonon module .......... yes
- -CUPS support ........... no
- +CUPS support ........... yes
- -GStreamer support ...... no
- -PulseAudio support ..... no
- +GStreamer support ...... yes
- +PulseAudio support ..... yes
- +MNG support ............ plugin (system)
- +MySQL support .......... plugin
- -OpenSSL support ........ no
- -Alsa support ........... no
- +OpenSSL support ........ yes (run-time)
- +Alsa support ........... yes
pulled current latest version:
commit 0a0d66efceb64bcacffbf733053834829c657df7
Date: Wed Oct 19 07:38:37 2011 +1000
and this time qmlscene spit some more info after segfault:
“Cannot create platform GL context, none of GLX, EGL, DRI2 is enabled”
This message directed me to:
http://comments.gmane.org/gmane.comp.lib.qt.qml/3060
which suggests to install libx11-xcb-dev. Indeed I didn’t have it, so I installed, cleaned and rebuilt, and now it works.
If this package is required for qtdeclarative to work properly shouldn’t configure notice it and mention it somehow?
Anyhow, Just added this info to the wiki page.
After compiling Qt5 I’d like to do a safe “make install” in my system. With “safe” I mean that I don’t want to overwtite my Qt4 libs on my system so they should be installed in (for example) /opt/qt5 if it’s possible.
I also would like to start packaging Qt5 in a Ubuntu PPA, but even if I’ve a little experience with packaging, I really don’t know how to split an installation in multiple packages (I mean: qt-multimedia, qt-database, qt-tools ecc…. just to make you an example): should I take example from the actual Qt4 packages available in Ubuntu? Anyone want to help me? Thanks!
I get this at every dir level I tried on Archlinux x86_64…
- ~qt5-git/qtbase git submodule update --init src/3rdparty/v8
- You need to run this command from the toplevel of the working tree.
I already have a libv8 3.6.5.1 as part of my system so would it possible for qtbase and whatever else needs libv8 to just link against my system version?
Hi! Trying to build Qt 5 for the first time, but I’m not getting very far…
Seems like the init-repository script is not working properly with the the —http option. All the repos are cloned using “http:”, except for the qt3d repo which still tries to use “git:”.
Very simple problem, but with my total lack of experience with perl, I’m not sure how to work around it… If anyone could give me a hint on how to get past this, by fixing init-repository, or doing some manual step, it would be most appreciated.
What is the best way to incorporate qtwebkit into a qt5 build?
- ...
- [pid 30835] open(".../qt5-git/.git/modules/qtwebkit/refs/heads/master", O_RDONLY) = -1 ENOENT (No such file or directory)
- [pid 30835] write(2, "fatal: Oops\n", 12fatal: Oops
@ludde, I’m not sure why there is not some plain English instructions to clone the repo exactly, or a bash script, rather than buried inside an obfuscated perl script that doesn’t seem to work. An example .git/config file would be more useful.
Managed to make init-repository clone all the modules (by fiddling a bit with the perl script, without really understanding what I was doing…).
Also managed to run configure. But compiling (using Microsoft Visual Studio 2005, on Windows 7, 64 bit) eventually fails:
- c:\users\ludde\qt\qt5\qtbase\src\plugins\platforms\windows\qtwindowsglobal.h(178) : error C2065: 'WM_XBUTTONDOWN' : undeclared identifier
- c:\users\ludde\qt\qt5\qtbase\src\plugins\platforms\windows\qtwindowsglobal.h(178) : error C2065: 'WM_XBUTTONDBLCLK' : undeclared identifier
- c:\users\ludde\qt\qt5\qtbase\src\plugins\platforms\windows\qwindowscontext.h(74) : error C2059: syntax error : '<L_TYPE_raw>'
Any ideas on what might be causing this?
@ludde: I filed https://bugreports.qt.nokia.com/browse/QTBUG-23580 regarding your problems with the -http option. About the windows problems … don’t know, it compiles for me :( I guess you’re better off subscribing to qt-development@qt-project.org, and posting your problems there.
While running
- ./configure -developer-build -opensource -nomake examples -nomake tests
i get this error partway through:
- Creating qmake. Please wait...
- g++ -c -o project.o -pipe -DQMAKE_OPENSOURCE_EDITION -g -g -I. -Igenerators -Igenerators/unix -Igenerators/win32 -Igenerators/mac -Igenerators/integrity -I/home/daniel/qt5/qtbase/include -I/home/daniel/qt5/qtbase/include/QtCore -I/home/daniel/qt5/qtbase/include/QtCore/5.0.0 -I/home/daniel/qt5/qtbase/include/QtCore/5.0.0/QtCore -I/home/daniel/qt5/qtbase/src/corelib/global -I/home/daniel/qt5/qtbase/src/corelib/xml -I/home/daniel/qt5/qtbase/tools/shared -DQT_NO_PCRE -DQT_BUILD_QMAKE -DQT_BOOTSTRAPPED -DQT_NO_TEXTCODEC -DQT_NO_UNICODETABLES -DQT_NO_COMPONENT -DQT_NO_STL -DQT_NO_COMPRESS -I/home/daniel/qt5/qtbase/mkspecs/linux-g++ -DHAVE_QCONFIG_CPP -DQT_NO_THREAD -DQT_NO_QOBJECT -DQT_NO_GEOM_VARIANT -DQT_NO_DEPRECATED project.cpp
- make: g++: Command not found
- make: *** [project.o] Error 127
I am using ubuntu, does anyone know where i went wrong?
Sorry i’m rather new to all this :$
You must log in to post a reply. Not a member yet? Register here!






