Compiler qt3.3.3, pas sur de mon install !!!!

Fermé
pristella Messages postés 859 Date d'inscription samedi 23 octobre 2004 Statut Contributeur Dernière intervention 8 mai 2007 - 31 déc. 2004 à 12:06
pristella Messages postés 859 Date d'inscription samedi 23 octobre 2004 Statut Contributeur Dernière intervention 8 mai 2007 - 3 janv. 2005 à 09:52
bonjour,
Je voudrais installer kde 3.3.0 et pour cela je dois au préalable installer qt-x11-free-3.3.3.tar.gz et arts-1.3.0.tar.bz2.
J'ai récupéré les sources car les binaires n'existent pas pour mandrake.
J'ai donc suivi les instructions du fichier install de qt3.3.3 , les voici :

1. Unpack the archive if you have not done so already:

cd /usr/local
gunzip qt-x11-free-3.3.3.tar.gz # uncompress the archive
tar xvf qt-x11-free-3.3.3.tar # unpack it

This creates the directory /usr/local/qt-x11-free-3.3.3 containing the
files from the main archive.

Rename qt-x11-free-3.3.3 to qt (or make a symlink):

mv qt-x11-free-3.3.3 qt

The rest of this file assumes that Qt is installed in /usr/local/qt.


2. Set some environment variables in the file .profile (or .login,
depending on your shell) in your home directory. Create the
file if it is not there already.

QTDIR - the directory in which you're building Qt
PATH - to locate the moc program and other Qt tools
MANPATH - to access the Qt man pages
LD_LIBRARY_PATH - for the shared Qt library

Note that under IRIX the additional LD_LIBRARYN32_PATH and
LD_LIBRARY64_PATH variables are used for specifying library
search paths. Set the variable that matches your configuration, or
see the rld(5) man page for more information.

This is done like this:

In .profile (if your shell is bash, ksh, zsh or sh), add the
following lines:

QTDIR=/usr/local/qt
PATH=$QTDIR/bin:$PATH
MANPATH=$QTDIR/doc/man:$MANPATH
LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

export QTDIR PATH MANPATH LD_LIBRARY_PATH

In .login (in case your shell is csh or tcsh), add the following lines:

setenv QTDIR /usr/local/qt
setenv PATH $QTDIR/bin:$PATH
setenv MANPATH $QTDIR/doc/man:$MANPATH
setenv LD_LIBRARY_PATH $QTDIR/lib:$LD_LIBRARY_PATH

After you have done this, you will need to login again, or
re-source the profile before continuing, so that at least $QTDIR
and $PATH are set. Without these the installation will halt with an error
message.


On AIX set LIBPATH and on HP-UX set SHLIB_PATH instead of LD_LIBRARY_PATH.

Note that the SGI MIPSpro o32 and Sun WorkShop 5.0 targets are no
longer supported as of Qt 3.3.

3. Install your license file as $HOME/.qt-license.
For the free edition and evaluation version, you do not need a license
file.


4. Building.

This step compiles the Qt library, and builds the example programs,
the tutorial, and the tools (e.g. Qt Designer).

Type:

./configure

This will configure the Qt library for your machine. Note that
GIF support is turned off by default. Run ./configure -help
to get a list of configuration options. Read PLATFORMS for a
list of supported platforms.

To create the library and compile all the examples and the
tutorial, type:

make

If your platform or compiler is not supported, please contact us at
qt-bugs@trolltech.com so that we can assist you. If it is supported
but you have problems, see http://www.trolltech.com/platforms/ for
information on known issues.


At this point you have binaries created in $QTDIR (eg. $QTDIR/lib/
contains libqt.so). If, however, you would like to have your Qt
installed in a non-local installation you can run configure with
options splitting Qt into different areas for example:

./configure -libdir /usr/local/lib -bindir /usr/local/bin -headerdir /usr/local/include/qt

If you supplied a custom install directory using the -prefix
parameter in step 2, you can:

make install

This will install Qt onto your machine using the paths you've set.
(See ./configure -help for more information). If you choose to
install Qt like this, remember that you must set your
LD_LIBRARY_PATH to match your -libdir and your QTDIR to your
-headerdir (as described in (2) above).


5. In very few cases you may need to run /sbin/ldconfig or something
similar at this point if you are using shared libraries.

If you have problems running the example programs, e.g. messages like

can't load library 'libqt.so.3'

you probably need to put a reference to the qt library in a
configuration file and run /sbin/ldconfig as root on your system.
And don't forget to set LD_LIBRARY_PATH as explained in (2) above.


6. The online HTML documentation is installed in /usr/local/qt/doc/html/
The main page is /usr/local/qt/doc/html/index.html
The man pages are installed in /usr/local/qt/doc/man/



That's all. Qt is now installed.

A l'issue, j'aimerais savoir si qt3.3.3 est bien installé, comment savoir?
De plus dans les instructions, on ne sais pas dans quel répertoire on doit fait faire le ./configure (moi je l'ai fait dans le lien symbolique qt) est-ce juste ? sinon ou fallait-il le faire? J'ai aussi creer le fichier .profile dans mon home, j'espère avoir bien compris ???

En conclusion, pourriez m'assurer que cette procedure d'install est juste sinon comment dois-je proceder et comment savoir que qt3.3.3 est bien installé??

Merci d'avance (excusez-moi pour la longueur des explications mais il fallait que je sois précis.

PS: je suis sur mandrakelinux 10.1 officiel
A voir également:

7 réponses

Ravachol Messages postés 560 Date d'inscription vendredi 5 mars 2004 Statut Membre Dernière intervention 30 octobre 2005 120
31 déc. 2004 à 12:21
Salut,
Pour vérifier la version de Qt installée tu fais kde-config -v
Mais sauf erreur de ma part il me semblais que Mdk 10.1 contenait Qt 3.3.3 de base, non ?

A++

C'est pas parce qu'ils sont nombreux à avoir tort
qu'ils ont raison! (COLUCHE)
0
Gordius Messages postés 267 Date d'inscription mercredi 21 avril 2004 Statut Contributeur Dernière intervention 19 avril 2006 51
31 déc. 2004 à 14:41
peut-être qu'il voulait des headers propres :p
pas les torchons livrés avec mandrake.

The software said "Requires Windows98,
Win2000, or better, So I installed Unix. 
0
Ravachol Messages postés 560 Date d'inscription vendredi 5 mars 2004 Statut Membre Dernière intervention 30 octobre 2005 120
31 déc. 2004 à 15:05
Pourquoi, c'est mandrake qui écrit les headers de Qt ?

C'est pas parce qu'ils sont nombreux à avoir tort
qu'ils ont raison! (COLUCHE)
0
Gordius Messages postés 267 Date d'inscription mercredi 21 avril 2004 Statut Contributeur Dernière intervention 19 avril 2006 51 > Ravachol Messages postés 560 Date d'inscription vendredi 5 mars 2004 Statut Membre Dernière intervention 30 octobre 2005
31 déc. 2004 à 18:51
bah disons que mandrake à la facheuse tendance de modifier les sources des programmes avant de les compiler et de les inclure dans sa distributions...
Je dis ça depuis les mésaventures du gcc 2.96 mais maintenant je crois que les modifs qu'ils font ne posent plus de problème :)

The software said "Requires Windows98,
Win2000, or better, So I installed Unix. 
0
Si tu installes le qt-3.3.3 de cette facon ca se trouve bien sur dans le repertoire /usr/local/qt. La il y aura de sous-repertoire /usr/loca/qt/lib pour les bibliotheques et /usr/local/qt/include pour les fichier header. Il y a aussi les sources dans ce repertoire mais apart de bouffer la place ca ne fait pas de mal. En fait il ne faut pas les effacer (sinon ca ne marche plus, j'ai essaye une fois).

Apres pour l'utilisation de cette installation et pour eviter de prendre une autre version de qt qui vient avec Mandrake il y a les quatres lignes avec les variables d'environment QTDIR, PATH, ... qu'il faut ajouter dans le .profile ou .login. Si tu as fais ca comme decrit ci-dessus tu prendras toujours la nouvelle installation. Il ne faut pas oublier d'appliquer la modification de ces variables d'environment pour chaque utilisateur (root, toi, ... ) qui souhaite compiler/utiliser les applications qt.

Pour un test simple tu peux en fait utiliser le "make xconfig" dans la compilation du noyau 2.6. Ca necessite une installation de QT qui fonctionne correctement ! Donc tu vas dans un repertoire source de noyau 2.6 et apres "make mrproper" (attention ca nettoie tous) tu fais "make xconfig". Si tu arrives avec "make xconfig" de demarrer l'application graphique pour configurer le noyau ca prouve que l'installation de QT fonctionne (a condition que la modif des variables QTDIR, ... etc. soit active!!! C'est a dire apres changement de .profile/.login il faut se reconnecter/reloguer!). Si tu ne veux pas nettoyer tes sources noyau tu peux deballer une autre version de source noyau quelque part dans un autre repertoir pour ce test et apres le test tu peux l'effacer.

Apart ca, si c'est vraie que Mandrake depend deja de qt-3.3.3 et si tu as de mal de compiler avec, c'est peut-etre parce que tu n'as pas installe la version "devel" du paquet qt (celle qui contient les fichiers include). Je rappelle que pour toute bibliotheque quelconque il y a toujours une version runtime (lib<nom>-<version>.rpm) et une version de developpement (lib<nom>-devel-<version>.rpm) . Souvent on n'installe pas le 2eme paquet qui contient les fichier headers/include indipensable si on souhaite compiler un programe qui utilisera cette bibliotheque.
0
pristella Messages postés 859 Date d'inscription samedi 23 octobre 2004 Statut Contributeur Dernière intervention 8 mai 2007 74
31 déc. 2004 à 20:07
merci kmf,
A present tous semble en ordre, le make xconfig fonctionne :)
J'ai donc poursuivi mon installation de kde3.3.0 en installant les sources suivantes :

arts 1.3.0
kdelibs 3.3.0

pour les deux , ça c'est bien passé à part quelques warning.
ensuite j'ai voulu installer kdebase 3.3.0. le ./configure s'est bien passé mais le make m'a donné l'erreur suivante :

g++-3.4.1: /usr/lib/libkio.so: No such file or directory
make[3]: *** [kded_favicons.la] Erreur 1
make[3]: Leaving directory `/home/pristella/sources/KDE-3.3/kdebase-3.3.0/libkonq/favicons'
make[2]: *** [all-recursive] Erreur 1
make[2]: Leaving directory `/home/pristella/sources/KDE-3.3/kdebase-3.3.0/libkonq'
make[1]: *** [all-recursive] Erreur 1
make[1]: Leaving directory `/home/pristella/sources/KDE-3.3/kdebase-3.3.0'
make: *** [all] Erreur 2
[pristella@localhost kdebase-3.3.0]$

j'ai verifié dans /usr/lib la presence de libkio.so, il existe mais avec un 4 derrière (libkio.so4).

comment peut-on régler ce problème ??? j'ai cherché sur le net sans resultat.

merci d'avance

A+
0
Apres l'installation d'une bibliotheque a partir des sources il faut eventuellement faire la commande "ldconfig" pour recreer les lien etc.
Ca devrait en outre creer le lien: libkio.so->libkio.so.4
Donc fais "ldconfig -v", regardes eventuellement dans le repertoire /usr/lib s'il y a le lien et apres tu recommence avec le "kdebase".

Apart ca il y a un risque eventuellement que le configure de kdebase a pris la vielle version de kdelibs si c'est encore installe ? Dans quel arbre est-ce que tu as installe kdelibs: dans /usr ou /usr/local ? Si c'est /usr/local il faut mettre avec le ./configure (pour kdebase) une option pour specifier le bon arbre de kdelibs (cherches avec "./configure --help" la liste des options configure). Sinon ca prend la mauvaise version de kdelibs, celle dans /usr et pas dans /usr/local.

En fait pour compiler kde ca me parrait une bonne idee de passer en mode text (taper "init 3") ou a un autre window manager qui ne depend pas de kde. Apres on desinstalle completement l'ancienne version de KDE et on fait la compilation de la nouvelle version.
0
pristella Messages postés 859 Date d'inscription samedi 23 octobre 2004 Statut Contributeur Dernière intervention 8 mai 2007 74
31 déc. 2004 à 23:14
en fait je ne sais pas du tout dans quel arbre je l'ai installé. J'ai simplement telecharger la source dans mon home/pristella/sources/kde
puis j'ai fait un ./configure puis un make et c'est tout.
Par contre j'ai trouvé le libkio.so, il se trouve dans usr/local/kde/lib .
De plus je ne comprend pas grand chose au prefix.
J'ai essayé ./configure --prefix=/usr/local/kde/lib puis make et j'ai le resultat suivant :

Warning: you chose to install this package in /usr/local/kde/lib,
but KDE was found in /usr.
For this to work, you will need to tell KDE about the new prefix, by ensuring
that KDEDIRS contains it, e.g. export KDEDIRS=/usr/local/kde/lib:/usr
Then restart KDE.


Good - your configure finished. Start make now

[pristella@localhost kdebase-3.3.2]$

merci pour ton aide

bonne année :):):)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Souvent avec configure (presque toujours) c'est dans /usr/local si tu ne changes pas le prefix par default. Le "./configure --help" affiche aussi la valeur par defaut (souvent /usr/local). Sinon il faut regarder dans la doc
(fichier INSTALL, README, ...).
Par contre si tu as trouve les bibliotheques de kdelibs dans /usr/local/kde/lib ca ne correspond tres probablement PAS a "--prefix /usr/local/kde/lib" mais plutot a: "--prefix /usr/local" ou "--prefix /usr/local/kde".
Ce n'est pas un seul repertoire mais tout un arbe, c.-a-d. ca sera en dessous du repertoire <prefix> avec pleine de sous-repertoires ou il y aura de fichier:
/<prefix>/bin/, /<prefix>/lib/, /<prefix>/include/ etc.
Il faut installer dans un abre coherent pour tous les paquets kde.

Normalement les rpms obtenus par Mandrake, Fedora, Suse, etc. utilisent l'arbe /usr (donc binaires dans /usr/bin/, bibliotheques dans /usr/lib/, headers dans /usr/include/ etc.). Si on fait soit meme le defaut est /usr/local qui a l'avantage d'etre a part mais c'est quand-meme prevu par le systeme. Comme ca on peut mettre deux versions differentes de logiciels/bibliotheques mais ca peut malheureusement creer des conflits et des vraies ennuies pendant le configure ou la compilation.

Par exemple tu installes une bibliotheque quelconque xxx dans /usr/local (c.-a-d. avec fichiers de type: /usr/local/lib/libxxx.so.<version> et /usr/local/include/xxx/*.h ou /usr/local/include/xxx.h ). Maintenant tu veux installer avec ./configure un logiciel qui utilise cette bibliotheque
(c.-a.-d. compiler "contre cette bibliotheque", "to compile against this library"). Probleme: Si tu as une vielle version de xxx dans l'arbre /usr
(a cause d'un ancien rpm qui vient avec l'installation de Mandrake) le configure-script trouve eventuellement la vielle version et il ne cherche pas l'autre. Apres, ca peut planter a plusieures niveaux: Pendant la compilation on prend de fichiers header de /usr/local (nouvelle version) mais avec le link il prend la vielle version (ca fait des erreurs de genres "function" ou "symbol" not found quand on essaye de linker toutes les fichiers *.o). Il peut aussi arriver l'inverse il prend les headers dans /usr
(plus precisement /usr/include) et ca cree des erreurs de compilations car ton logiciel a besoin d'une nouvelle version, sinon ca n'aurait pas ete necessaire d'installer une nouvelle version de xxx.

Pour eviter ce genre de probleme on peut faire deux choses:

(1) Desinstaller l'ancienne version de xxx, souvent ca ne marche pas car ton systeme linux en a besoin pour d'autre logiciels qui peut-etre ne marchent pas avec la nouvelle version. Defois il y a aussi de difference entre la grande version (par exemple kde 2.x.y. envers kde 3.x.y.), la petite version (par exemple kde 3.2.x et kde 3.3.x) et la tres petite version (kde 3.3.2 envers kde 3.3.3). Si seulement la tres petite version change ce ne sont que de bugfixes et ca reste compatible. Avec la petite version ca reste eventuellement compatible (mais pas certainement) et avec la grande version c'est certainement incompatible. En fait les ennuies de conflits sont souvent maximals pour petite version (pour la grande version) c'est souvent comme une toute autre bibliotheque.

(2) Choisir avec soin les bonnes options du ./configure du logiciel a compiler pour qu'il prenne la bonne version de la bibliotheque. Souvent ca marche mais pas toujours.

Apart ca, si on decide d'utiliser un arbre non-standard (par exemple /usr/local_privee/ ou /usr/local/special/ ou ...). Il faut prendre quelque prequations avant de l'utiliser cette arbre: Il faut ajouter /usr/local_privee/bin dans le path et /usr/local_privee/lib dans le LD_LIBRARY_PATH (ou encore mieux ajouter le repertoire /usr/local_privee/lib dans la liste du fichier: "/etc/ld.so.conf"
et actualiser la config des bibliotheques avec "ldconfig -v"). Apres pour compiler il faut aussi veiller d'ajouter /usr/local_privee/include dans le chemin des fichiers include (avec l'option "-I ...." de gcc). Souvent ca peut se faire avec le configure ou le Makefile.

Bref pour compilier KDE il faut faire attention a un conflit eventuel avec l'ancien KDE et bien choisir l'abre. Ca peut etre quelque chose comme /usr/local/kde mais dans ce cas il faut que ce soit coherent. Il est possible qu'on puisse utiliser plusieures versions de KDE si on met de bonnes variables d'environmment. Je crois ca marche avec "KDEDIR=/usr/local/kde" (au moins avec les anciennes versions ca marchait comme ca). Il faut verifier avec la doc.
0
pristella Messages postés 859 Date d'inscription samedi 23 octobre 2004 Statut Contributeur Dernière intervention 8 mai 2007 74
2 janv. 2005 à 00:07
ok, merci j'etudie tout ça et je m'y remets demain. Il faut que ça decante un peu :):) j'ai déjà appris pas mal de chose grace à toi kmf.

A+
0
Bonjour,

ca me parait un peu bourrin de compiler toutes les sources de kde 3.3 sous mandrake.... surtout qu'il existe des RPM il me semble...

j'avais trouvé la source a ajouter a urpmi a l'epoque...

une petite recherche google

rpm kde 3.3 mandrake

devrait te donner pas mal de pistes ;-)

Pour tout installer des sources, j'avais commencé comme ca sur la mdk9.2 pour ajouter kde3.2.... je suis jamais allé au bout...

Phiphi
0
pristella Messages postés 859 Date d'inscription samedi 23 octobre 2004 Statut Contributeur Dernière intervention 8 mai 2007 74
3 janv. 2005 à 09:52
bonjour et bonne année,

Pour ce qui est de trouver les sources avec urpmi, c'est impossible, j'en déduit que mes mirroirs ne contiennent pas la version 3.3.2 de kde pour mandrake. (si tu en connais un, n'hésites pas à me le communiquer). Saches que j'ai essayé tous les mirroirs français.

Pour les rpms, c'est pareil, impossible de trouver les rpms kde3.3.2 pour mandrake (si tu connais un lien ....) :)

C'est peut-être un peu bourrin mais c'est aussi comme ça qu'on apprend à maitriser et à connaitre ce système.

Je m'efforce de tester plein de chose, c'est vrai, c'est long et fastidieux mais très intéressant et pour le moment tous les problèmes que j'ai pu renconter ont été resolus notamment grace à l'aide de certains internautes comme kmf par exemple qui est de bon conseils et offre des explications claires et précises.

L'apprenhension de mandrakelinux est relativement simple, le bureau kde est intuitif et j'au pu rapidement me familiariser avec cette environnement. J'ai testé enormenent de chose notamment dans la configuration du bureau , dans l'utilisation des differents logiciels (bureautique, multimedia, graphisme etc), j'ai pu comparer les compatibilité avec les outils microsofts (open office writer vers word, open office calc vers excel ...) l'utilisation de gimp m'a permis aussi de le comparer à photoshop (que j'utilise professionellement - je suis concepteur-paysagiste donc les outils graphiques , je connais). J'ai testé le multimedia aussi en utilisant des outils d'encodage comme transcode, dvdrip, tuxrip etc . J'ai testé tous ces logiciels de plusieurs façons, soit avec une installation des sources( c'est long surtout avec l'installation des outils de base à la video, codecs etc.) soit avec l'outils urpmi (facile).

J'ai aussi appris à compiler un nouveau noyau tout en conservant l'ancien (merci à kmf pour ça ). D'ailleurs, je notifie par ecrit tous mes essais, ce qui m'a permis d'assimiler un bon nombre de commande.

Je souhaite continuer mon apprentissage en installant kde 3.3.2 par les sources (c'est un exercice pour moi).

Grace à ce travail un peu "bourrin" j'ai appris à mieux connaître mon ordinateur en configurant celui-ci soit graphiquement soit à la console.

Pour info, cela fait 2 mois et demi que je suis sur GNUlinux:) et je n'utilise pratiquement plus windowsXP. Et je ne regrette pas:):)

A bientôt
0