Introduction à Qt
Le paquet Qt contient une
bibliothèque GUI C++. Elle est
utile pour créer des applications graphiques ou exécuter des
applications graphiques liées dynamiquement à la bibliothèque
Qt. Deux des utilisations majeurs
de Qt sont KDE et Trinity.
Informations sur le paquet
Téléchargement supplémentaire
Dépendances de Qt
Requises
X Window
System
Recommandées
libjpeg-8c et libmng-1.0.10
Remarque : si pour une raison quelconque, vous n'avez pas
installé les bibliothèques recommandées sur votre système, vous
devez supprimer les paramètres -system-<bibliothèque>
et
-plugin-imgfmt-<bibliothèque>
recommandés des commandes configure décrites dans les
instructions ci-dessous.
Facultatives
Cups-1.5.0, MySQL-5.5.17,
PostgreSQL-9.0.6, unixODBC-2.3.0, SQLite-3.7.8, et
Firebird
Notes utilisateur : http://wiki.linuxfromscratch.org/blfs/wiki/qt
Installation de Qt
Ce paquet (malheureusement) s'attend à ce que le système
X Window soit installé dans le
répertoire /usr/X11R6
. Si vous
utilisez une version récente de Xorg et qu'elle est installée à un autre
endroit, assurez-vous d'avoir suivi les instructions de la section
Creating an
X11R6 Compatibility Symlink.
Il y a plusieurs manières d'installer un paquet aussi compliqué que
Qt. Les fichiers ne sont pas
complètement indifférents à la position. Les procédures
d'installation exécutent le programme pkg-config pour déterminer
l'emplacement des exécutables du paquet, les bibliothèques, les
en-têtes et d'autres fichiers. Pour Qt4, pkg-config cherchera les fichiers
lib/pkgconfig/qt-mt.pc
adéquats qui
doivent être modifiés en cas de relocalisation du paquet. Ces
fichiers sont correctement paramétrés par le processus de
construction.
L'installation par défaut met les fichiers dans /usr/local/qt/
. Beaucoup de distributions mettent
les fichiers dans la hiérarchie /usr
du système. Le paquet peut être aussi installé dans un répertoire
de votre choix.
Cette section vous montrera deux méthodes différentes.
Avertissement
La construction de Qt dans un
environnement chroot peut échouer.
Note
Le temps de construction de Qt
est très long. Si vous voulez gagner du temps et si vous ne
voulez pas les tutoriels et les exemples, modifiez la première
commande make
en :
make sub-tools
Méthode 1 - Installation dans la hiérarchie '/usr'
L'avantage de cette méthode est qu'aucune mise à jour de
/etc/ld.so.conf
ou de /etc/man_db.conf
n'est nécessaire. Les fichiers
du paquet sont répartis dans plusieurs sous-répertoires de la
hiérarchie /usr
. C'est une méthode
utilisée par la plupart des distributions du marché.
Note
Si vous allez réinstaller Qt,
lancez les commandes suivantes depuis une console ou un
gestionnaire de fenêtres non basé sur Qt. Elle écrase les
bibliothèques de Qt qui ne
devraient pas être utilisés pendant le processus
d'installation.
sed -i '/QMAKE_RPATH/d' mkspecs/linux*/qmake.conf &&
bash
export PATH=$PWD/bin:$PATH &&
export LD_LIBRARY_PATH=$PWD/lib:$LD_LIBRARY_PATH &&
patch -Np1 -i ../qt-3.3.8.d-libpng15-1.patch &&
./configure -prefix /usr \
-docdir /usr/share/doc/qt \
-headerdir /usr/include/qt \
-plugindir /usr/lib/qt/plugins \
-datadir /usr/share/qt \
-sysconfdir /etc/qt \
-translationdir /usr/share/qt/translations \
-qt-gif \
-system-zlib \
-system-libpng \
-system-libjpeg \
-system-libmng \
-plugin-imgfmt-png \
-plugin-imgfmt-jpeg \
-plugin-imgfmt-mng \
-no-exceptions \
-thread \
-tablet &&
make &&
exit
Ce paquet n'est pas fourni avec une suite de tests.
Maintenant, en tant qu'utilisateur root
:
make install &&
ln -v -sf libqt-mt.so /usr/lib/libqt.so &&
ln -v -snf ../../bin /usr/share/qt/bin &&
ln -v -snf ../../include/qt /usr/share/qt/include &&
ln -v -snf ../../lib /usr/share/qt/lib &&
cp -v -r doc/man /usr/share &&
cp -v -r examples /usr/share/doc/qt
Méthode 2 - Installation dans '/opt'
C'est la méthode recommandée par les développeurs de Qt. Elle présente l'avantage de garder tous
les fichiers du paquet rassemblés dans une hiérarchie de
répertoires dédiée. En utilisant cette méthode, on peut faire une
mise à jour sans écraser l'installation précédente et les
utilisateurs peuvent facilement revenir en arrière vers une
version précédente en modifiant un lien symbolique.
Les développeurs de Qt utilisent
un emplacement par défaut de /usr/local/qt/
, mais la procédure ci-dessous
met les fichiers dans /opt/qt-3.3.8d/
puis crée un lien symbolique
vers /opt/qt/
.
bash
export QTDIR=$PWD &&
export LD_LIBRARY_PATH=$PWD/lib:$LD_LIBRARY_PATH &&
export PATH=$PWD/bin:$PATH &&
patch -Np1 -i ../qt-3.3.8.d-libpng15-1.patch &&
./configure -prefix /opt/qt-3.3.8d \
-sysconfdir /etc/qt \
-qt-gif \
-system-zlib \
-system-libpng \
-system-libjpeg \
-system-libmng \
-plugin-imgfmt-png \
-plugin-imgfmt-jpeg \
-plugin-imgfmt-mng \
-no-exceptions \
-thread \
-tablet &&
make &&
exit
Ce paquet n'est pas fourni avec une suite de tests.
Maintenant, en tant qu'utilisateur root
:
make install &&
ln -v -sfn qt-3.3.8d /opt/qt &&
ln -v -s libqt-mt.so /opt/qt/lib/libqt.so &&
cp -v -r doc/man examples /opt/qt/doc
Explication des commandes
sed -i '/QMAKE_RPATH/d'
mkspecs/linux*/qmake.conf : Dans la méthode 1,
Qt sera installé dans les
répertoires du système standard. Le chemin de recherche de la
bibliothèque d'exécution n'a pas besoin d'être réglé dans ce cas.
bash : Cette
commande entre dans un sous-shell pour isoler les modifications de
l'environnement.
export
QTDIR=$PWD : Cette commande définit la racine
du répertoire Qt.
export
LD_LIBRARY_PATH=$PWD/lib:$LD_LIBRARY_PATH :
Cette commande permet aux bibliothèques Qt pas encore installées d'être utilisées par
des programmes Qt non encore
installés..
export
PATH=$PWD/bin:$PATH : Cette commande permet au
processus de construction de trouver les exécutables de support.
-qt-gif
: Ce paramètre
ajoute le support des fichiers gif
aux bibliothèques.
-system-zlib -system-libpng
-system-libjpeg -system-mng
: Ces paramètres
obligent les instructions de construction à utiliser les
bibliothèques partagées sur votre système au lieu de créer un
réglage personnalisé des bibliothèques de support de ces fonctions.
-plugin-imgfmt-png -plugin-imgfmt-jpeg
-plugin-imgfmt-mng
: Ces paramètres activent
védition de liens des bibliothèques référencées lors de
l'exécution.
Si vous passez le paramètre -plugin-sql-<pilote>
ou
-qt-sql-<pilote>
à la commande
configure, vous devez
également passer -I</chemin/vers/entêtes/sql/>
pour que make puisse
trouver les fichiers d'en-tête adéquats. Par exemple, la
construction en dur du support MySQL (à l'inverse de la construction du
plugin) devra utiliser -I/usr/include/mysql
-qt-sql-mysql
.
Note
Pour vérifier que mysql est
détecté automatiquement correctement, regardez la sortie de
./configure -qt-sql-mysql
-help. D'autres support de base de données
exigeront des paramètres configure identiques.
-no-exceptions
: Ce
paramètre désactive le codage d'exception générées par le
compilateur C++.
-thread
: Ce paramètre
ajoute le support du multi-threading.
ln -v -sf libqt-mt.so
/usr/lib/libqt.so : Cette commande permet aux
scripts configure de
trouver une installation Qt qui
fonctionne.
ln -v -snf ../../bin
/usr/share/qt/bin : Cette commande et les deux
suivantes permettent à l'installation du style /usr
de mimer l'installation de style
/opt
en rendant tous les binaires,
les en-têtes, et les fichiers disponibles depuis un seul
répertoire, /usr/share/qt
.
cp -v -r doc/man examples /usr/share
(or /opt/qt/doc) : Cette commande installe les
pages de man et les exaemples oubliés par make install.
exit : Cette
commande retourne au shell parent et élimine les variables
d'environnement réglées tout à l'heure.
Configuration de Qt
Informations de
configuration
La variable d'environnement QTDIR
doit
être réglée lors de la construction des paquets qui dépendent de
Qt. Ajoutez ce qui suit au
script d'initialisation .bash_profile
pour chaque utilisateur qui
construit des paquets en utilisant les bibliothèques Qt. Vous pouvez sinon régler la variable
dans le fichier /etc/profile
global.
Pour la méthode 1 (c'est facultatif, ne paramétrez ceci que si
une application ne peut pas trouver les bibliothèques ou les
en-têtes installées) :
export QTDIR=/usr/share/qt
ou pour la méthode 2 :
export QTDIR=/opt/qt
Si vous avez installé Qt en
utilisant la méthode 2, vous devez aussi mettre à jour les
fichiers de configuration suivants pour que Qt soient trouvé correctement par les autres
paquets et les processus système.
Mettez à jour les fichiers /etc/ld.so.conf
et /etc/man_db.conf
:
cat >> /etc/ld.so.conf << "EOF" &&
# Début du supplément qt de /etc/ld.so.conf
/opt/qt/lib
# Fin du supplément qt
EOF
ldconfig &&
cat >> /etc/man_db.conf << "EOF"
# Début du supplément qt de man_db.conf
MANDATORY_MANPATH /opt/qt/doc/man
MANPATH_MAP /opt/qt/bin /opt/qt/doc/man
MANDB_MAP /opt/qt/doc/man /var/cache/man/qt
# Fin du supplément qt de man_db.conf
EOF
Mettez à jour la variable d'environnement PKG_CONFIG_PATH
dans votre ~/.bash_profile
ou /etc/profile
avec ce qui suit :
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/qt/lib/pkgconfig
Si vous voulez les exécutables Qt dans le chemin de recherche de votre
,shell, mettez à jour la variable d'environnement PATH
dans votre ~/.bash_profile
ou /etc/profile
pour inclure /opt/qt/bin
.
Astuce
The PATH, MANPATH, et PKG_CONFIG_PATH peuvent être mis à jour
dans extrapaths.sh (ou un autre scripte) dans le répertoire
/etc/profile.d si vous avez configuré les fichiers de démarrage
tel que recommandé dans The Bash Shell
Startup Files.
Comme avec la plupart des bibliothèques, il n'y a pas de
configuration explicite à faire. Après la mise à jour de
/etc/ld.so.conf
comme expliquée
ci-dessus, lancez /sbin/ldconfig pour que
ldd puisse trouver
les bibliothèques partagées.