Forum Clubic

Problèmes pour compiler des logiciels

Bonjour !
Je suis nouveau dans le monde linux, j’ai donc un problème pour compiler certaines sources. Pour certains logiciels j’utilise urpmi comme je suis sous Mandrake.

Mais quand je veux compiler moi même avec ./configure j’ai souvent des messages d’erreurs à la fin (je pense à cause de certaines dépendances). Voici un exemple :

*** full path to gtk-config.
configure: error: *** GTK+ >= 1.2.2 not installed - please install first ***

ou

configure: error:
Please check that wx-config is in path, the directory
where wxWindows libraries are installed (returned by
‘wx-config --libs’ command) is in LD_LIBRARY_PATH or
equivalent variable and wxWindows is version 2.4.0 or above.
Or this might also be a bug in our configure. Please try again
with --with-wx-config=/usr/bin/wx-config
(replace /usr/bin/wx-config with a valid path to your wx-config)
* Note:
Most probably, either one of the above aren’t correct, you don’t
have wxGTK installed, or are missing wxGTK-devel (or equivalent) package.

et d’autres avec glib, ffmepg etc…

Comment faire ? Surtout que après je tente de télécharger les dépendances en faisant urpmi GTK+ par exemple, il me dit que les paquets sont déjà installés !

Je vous remercie :slight_smile:

“gtk+ est installé” signifie que les bibliothèques nécessaires à *l’execution" des prgm gtk sont installés.
Ca ne veut pas dire que les fichiers nécessaire à la compilation d’appli gtk sont intallés. Typiquement, il te manque les .h de gtk+.
Il te faut donc installer gtk-dev (ou gtk-devel je ne sais pas comment ça s’appelle sous mandrake). Bref, il faut installer les paquets de développement (les -dev).

Voili voila.

hmm oki !
J’ai fais urpmi gtk-devel et là sa marche, mais après j’ai une autre erreur :

config.status: creating po/Makefile.in
config.status: error: cannot find input file: po/Makefile.in.in

(j’installe xmms).

Mais comment on sait quels sont les paquets à avoir ? Parce que parfois il me manque d’autre trucs, mais je sais pas forcément les trouvé grâce à urpmi :frowning:

Merci beaucoup pour m’avoir aidé

quelle est l’option qu’il te faut et qui n’est pas activée par défaut dans la Mandriva, qui justifie la compilation de xmms au lieu de son installation par urpmi ?

Aucune !

Mais je sais pas, urpmi c’est la facilité, je veux apprendre moi !!
Et je crois que c’est mieux optimisé quand on le compile sois même non ? Enfin j’ai lu sa sur Léa linux

Si tu vois la difference tu m’appelles , compiler ca sert surtout sur des architectures (et des distribs , gentoo :ane:) exotiques , ou il n’existe pas de binaires adaptés a tes besoins.

Hmm ok :slight_smile:

Mais certains logiciels ne se trouvent pas par urpmi, et c’est pas forcément les dernieres releases non ?

Merci :slight_smile:

Ah oui, autre question.

Certains logiciels (Thunderbird) que j’ai installé sous la Konsole ne met pas de raccourci sur le bureau ou dans le Menu. Il faut à chaque fois aller dans le répértoire et tapper thunderbird pour qu’il s’ouvre.

Y’aurait-il un moyen de créer une icône ?

Ben sous debian, il y a un paquet qui s’appelle “menu” et qui fait ça automatiquement. Reste à trouver l’équivalent de aptitude install menu sous mandrake…
Sinon, tu fais un clic droit sur le menu K et tu crées le raccourci à la main. Pareil pour une icône sur le bureau.

Ps : Si tu connais assez Linux pour compiler des logiciels, tu y gagnerais peut être à installer une debian sid. C’est plus dur à installer qu’une mandrake mais c’est une distrib qui est très à jour (à un ou deux mois près au pire (sauf cas rare))

Ben non justement je m’y connais pas. Pour l’instant je compile en faisant ./Configure, make, make install et puis voilà !

Je connais rien de précis, j’ai installé Linux hier

Ha ok. Mais bon, la majorité des distrib ne nécessitent pas de compiler des logiciels. Bien sûr, tu peux vouloir avoir toujours les derniers logiciels en les compilant mais après, tu peux avoir des pbs de cohérence entre les lib et les softs installés par urpmi et ceux que tu as compilé. En effet, urpmi ne peut devenir que tu compiles des choses à coté.
Je ne sais pas qu’elle est la politique de mandriva entre deux versions. Sous suse, il n’a que des mises à jour de sécu entre chaque version de la distrib alors que sous debian sid, j’ai une moyenne de 15 paquets mis à jours tous les jours (15 sur 1500 en gros je crois).

Si tu veux avoir les toutes dernières versions de tes logiciels, passe en cooker (la version test de la Mandriva), c’est certainement moins stable mais je trouve ça plus propre et moins risqué que de d’installer à partir de sources sur une distribution qui utilise normalement des packages pré-compilés. En tout cas ce serait plus cohérant :slight_smile:

Mais quels sont les risques de compiler les sources ? Je vois pas ce qu’il y’a de moins propre si on télécharge les paquets requis pour la compilation puis qu’on procède à la compilation.

Ben c’est tout simple :wink:
Les logiciels que tu compiles ne peuvent pas être mis à jour avec urpmi donc tu risques d’avoir un système incoherant.

Imagine que tu installes un soft qui a besoin d’une lib. ok.
Après tu compiles un autre soft qui a besoin de cette lib. Toujours ok. Après tu mets à jour ton système avec urpmi. Urpmi met à jour le premier soft et la lib qui vont avec.
Or, cette lib a tellement changé que le soft que tu as compilé ne marche plus correctement.
C’est là le pb potentiel des mélanges…

arg oki !

Donc faut seulement que j’utilise urpmi et les fichiers .rpm ? Mais si je tappe urpmi xmms par exemple, j’ai plusieurs trucs, comment savoir quel de ces paquets et le fichier dont j’ai besoin ?

Si j’ai bien compris, si je compile : le soft et sa lib, si je télécharger avec urpmi le soft utilise la meme lib mais la modifie, ce qui fait que le premier soft ne marche plus parce que sa lib à été modifié, c’est sa ?

Moi je pensais que le logiciel s’adapte à la lib et que c’est dynamique. Cad prise en charge de la lib lorsqu’elle est remplacée par une plus récente

“Donc faut seulement que j’utilise urpmi et les fichiers .rpm”
C’est conseillé. Si, sauf exception, tu ne trouves pas les softs que tu veux en rpm, change de distirb :wink:

“Si j’ai bien compris…” : Oui c’est ça.

“Moi je pensais que le logiciel s’adapte à la lib et que c’est dynamique” : Oui mais bon le soft n’est pas devin. Si la lib est mise à jour sans que ça ne change rien vu de l’extérieur, c’est bon. Mais parfois, l’ABI (l’interface de la lib = ce qu’on en voit de l’extérieur) change et là, le soft ne marche plus correctement. Par exemple, il attend une fonction toto qui prend 2 arguments et la lib lui propose une fonction toto qui en prend maintenant 3 : Ca ne marche plus.

C’est clair?

Ha oui aussi : Si tu compiles bcp de choses, ça veut aussi dire que tu vas devoir mettre à jour bcp de choses à la main, soft par soft (comme sous windows…). Tu perds tout l’avantage du système de paquets de ta distrib.

En gros, là vu tous les ./configure et urpmi différents que j’ai fais j’ai déjà bien endommagé mon système :frowning:

Merci beaucoup pour les conseils, c’eet pas bien Mandriva comme distrib?

Non non c’est pas grave : Si tu vires ce que tu as compilé, tu retrouves un système tout propre. Perso, je n’ai que xawtv4 qui soit compilé (car il n’est pas encore considéré comme stable). Tout le reste vient de debian sid.

“c’eet pas bien Mandriva comme distrib” : je ne l’ai pas testé donc je ne peux pas trop te dire mais je suppose que c’est pas mal du tout. L’avantage de debian, c’est qu’il existe en gros 12000 paquets : bcp plus que pour les autres distrib (ce qui fait que c’est très rare qu’on ait qqch à compiler). Mais bon, utilise ta mandirva et si tu esheureux avec, garde là. Le choix d’une distrib c’est aussi une question de goût.

ps : merci donc de ne par troller sur les différentes distrib dans ce post.

Ha oui : make uninstall, quand il existe, fait souvent bien son boulot (tout l’inverse de make install ;))

je l’ai tellement rarement vu celui-là que j’en venais à me demander si j’avais pas rêvé… merci de me rassurer, je ne suis pas fou :stuck_out_tongue: