Build Qt For Linux
English Português Русский 日本語 Spanish Български
Build Qt for Linux
Qt is a very large framework, and it has many modules, configuration switches, and optional features. Faced with building it from source, it can be a challenge to figure out how to install the dependencies you need, and how to get some of the more obscure features to build!
The features that you can consider as a "standard minimum configuration" on Linux are: ZLib, JPEG, TIFF, MNG, PNG, OpenGL, GStreamer, ALSA, FreeType, FontConfig, CUPS, D-Bus, X*, OpenSSL, and SQLite.
Following is a comprehensive list of package names for the dependencies for all versions of Qt between 4.5 and trunk as of December 2010. Presently only Ubuntu package names have been included, but more distros should follow as the package names are figured out.
The "Module" column indicates the lowest-level module which uses the feature (i.e., if QtCore uses the feature, QtGui will not be listed). Multiple modules are only listed if they are not interdependent.
Dependency | Module | Configure switch | Qt/X11? | Qt/Embedded? | Qt 4.5 | Qt 4.6 | Qt 4.7 | Qt 4.8 (trunk) |
---|---|---|---|---|---|---|---|---|
ZLib | QtCore | ‑[qt|system]‑zlib | X | X | X | X | X | X |
JPEG | QtCore | ‑[qt|system]‑libjpeg | X | X | X | X | X | X |
TIFF | QtCore | ‑[qt|system]‑libtiff | X | X | X | X | X | X |
MNG | QtCore | ‑[qt|system]‑libmng | X | X | X | X | X | X |
PNG | QtCore | ‑[qt|system]‑libpng | X | X | X | X | X | X |
OpenGL | QtOpenGL | ‑opengl | X | X | X | X | X | |
OpenGL ES 1 | QtOpenGL | ‑opengl es1 | X | X | X[1] | X | X | X |
OpenGL ES 1 CL | QtOpenGL | ‑opengl es1cl | X | X | X[2] | X | X | X |
OpenGL ES 2 | QtOpenGL | ‑opengl es2 | X | X | X[3] | X | X | X |
EGL | QtOpenGL | ‑egl, ‑opengl es[1|1cl|2] | X | X[4] | X | X | X | X |
OpenVG | QtOpenVG | ‑openvg | X | X | X | X | X | |
ShivaVG | QtOpenVG | ‑openvg | X | X | X | X | X | |
DirectFB | QtGui | ‑[qt|plugin]‑gfx‑directfb | X | X | X | X | X | |
GStreamer[5] | Phonon | ‑phonon | X | X | X | X | X | X |
PulseAudio | Phonon | ‑phonon‑backend | X | X | X | X | X | |
ALSA | QtMultimedia | ‑multimedia | X | X | X | X | X | |
NAS Sound | QtGui | ‑system‑nas‑sound | X | X | X | X | X | |
FreeType | QtGui | ‑freetype | X | X | X | X | X | X |
FontConfig | QtGui | ‑fontconfig | X | X | X | X | X | |
tslib | QtGui | ‑[qt|plugin]‑mouse‑tslib | X | X | X | X | X | |
Cups | QtGui | ‑cups | X | X | X | X | X | X |
D‑Bus | QtDBus | ‑dbus[‑linked] | X | X | X | X | X | X |
ICD | QtNetwork | ‑icd | X | X | X | X | ||
GLib | QtCore | ‑glib | X | X | X | X | X | X |
GTK | QtGui | ‑gtkstyle | X | X | X | X | X | |
X11 | QtGui | none | X | X | X | X | X | |
XShape | QtGui | ‑xshape | X | X | X | X | X | |
XCursor | QtGui | ‑xcursor | X | X | X | X | X | |
XFixes | QtGui | ‑xfixes | X | X | X | X | X | |
XRandr | QtGui | ‑xrandr | X | X | X | X | X | |
XRender | QtGui, QtWebKit | ‑xrender | X | X | X | X | X | |
XVideo | Phonon, QtMultimedia | ‑xvideo | X | X | X | X | X | |
Xinerama | QtGui | ‑xinerama | X | X | X | X | X | |
XInput | QtGui | ‑xinput | X | X | X | X | X | |
Session management | QtGui | ‑sm | X | X | X | X | X | |
OpenSSL | QtNetwork, QtWebKit | ‑openssl[‑linked] | X | X | X | X | X | X |
Interbase | QtSql | ‑[qt|plugin]‑sql‑ibase | X | X | X | X | X | X |
MySQL | QtSql | ‑[qt|plugin]‑sql‑mysql | X | X | X | X | X | X |
ODBC | QtSql | ‑[qt|plugin]‑sql‑odbc | X | X | X | X | X | X |
PostgreSQL | QtSql | ‑[qt|plugin]‑sql‑psql | X | X | X | X | X | X |
SQLite 2 | QtSql | ‑[qt|plugin]‑sql‑sqlite2 | X | X | X | X | X | X |
SQLite 3 | QtSql | ‑[qt|plugin]‑sql‑sqlite | X | X | X | X | X | X |
TDS | QtSql | ‑[qt|plugin]‑sql‑tds | X | X | X | X | X | X |
Dependency | Ubuntu Lucid | Ubuntu Maverick |
---|---|---|
ZLib | zlib1g‑dev | zlib1g‑dev |
JPEG | libjpeg62‑dev | libjpeg62‑dev |
TIFF | libtiff4‑dev | libtiff4‑dev |
MNG | libmng‑dev | libmng‑dev |
PNG | libpng12‑dev | libpng12‑dev |
OpenGL | mesa‑common‑dev, libglu1‑mesa‑dev | mesa‑common‑dev, libglu1‑mesa‑dev |
OpenGL ES 1 | none | libgles1‑mesa‑dev[6] |
OpenGL ES 1 CL | none | libgles1‑mesa‑dev |
OpenGL ES 2 | none | libgles2‑mesa‑dev |
EGL | none | libgles2‑mesa‑dev or libegl1‑mesa‑dev |
OpenVG | none | libopenvg1‑mesa‑dev |
ShivaVG | none | none |
DirectFB | libdirectfb‑dev | libdirectfb‑dev |
GStreamer | libgstreamer0.10‑dev, libgstreamer‑plugins‑base0.10‑dev | libgstreamer0.10‑dev, libgstreamer‑plugins‑base0.10‑dev |
PulseAudio | libpulse‑dev | libpulse‑dev |
NAS Sound | libaudio‑dev | libaudio‑dev |
ALSA | libasound2‑dev | libasound2‑dev |
FreeType | libfreetype6‑dev | libfreetype6‑dev |
FontConfig | libfontconfig1‑dev | libfontconfig1‑dev |
tslib | libts‑dev | libts‑dev |
Cups | libcups2‑dev | libcups2‑dev |
D‑Bus | libdbus‑1‑dev | libdbus‑1‑dev |
ICD | none | none |
GLib | libglib2.0‑dev | libglib2.0‑dev |
GTK | libgtk2.0‑dev | libgtk2.0‑dev |
X11 | libx11‑dev, libxext‑dev | libx11‑dev, libxext‑dev |
XCursor | libxcursor‑dev | libxcursor‑dev |
XFixes | libxfixes‑dev | libxfixes‑dev |
XRandr | libxrandr‑dev | libxrandr‑dev |
XRender | libxrender‑dev | libxrender‑dev |
XVideo | libxv‑dev | libxv‑dev |
Xinerama | libxinerama‑dev | libxinerama‑dev |
XInput | libxi‑dev | libxi‑dev |
Session management | libsm‑dev | libsm‑dev |
OpenSSL | libssl‑dev | libssl‑dev |
Interbase | firebird2.1‑dev | firebird2.5‑dev or firebird2.1‑dev |
MySQL | libmysqlclient‑dev | libmysqlclient‑dev |
ODBC | unixodbc‑dev or libiodbc2‑dev[7] | unixodbc‑dev or libiodbc2‑dev[8] |
PostgreSQL | libpq‑dev | libpq‑dev |
SQLite 2 | libsqlite0‑dev | libsqlite0‑dev |
SQLite 3 | libsqlite3‑dev | libsqlite3‑dev |
TDS | freetds‑dev[6] | freetds‑dev[6] |
- ↑ Though supported, I have not been able to figure out how to buid this option in Qt 4.5.
- ↑ Though supported, I have not been able to figure out how to buid this option in Qt 4.5.
- ↑ Though supported, I have not been able to figure out how to buid this option in Qt 4.5.
- ↑ Need to pass ‑DMESA_EGL_NO_X11_HEADERS to "configure" when building Qt/Embedded. Possibly this could be done via .qmake.cache?
- ↑ Need to pass "$(pkg‑config gstreamer‑interfaces‑0.10 gstreamer‑video‑0.10 gstreamer‑base‑0.10 ‑‑cflags‑only‑I)" to "configure".
- ↑ This also requires a provider of libGLES_CM.so.
- ↑ Using libiodbc2 instead of unixodbc is supported starting in Qt 4.6.
- ↑ Using libiodbc2 instead of unixodbc is supported starting in Qt 4.6.