[gpocentek ] merci
[jeromeg ] tout le monde est chaud ?
[didrocks ] \o/
[ongolaBoy ] yes
[ti-sonson ] c'est ma 1ère classroom
[aza ] de même
[kinouchou ] moi aussi
[Patlord ] Pareil pour moi
[hopela_ ] aussi
[gpocentek ] c'est fête :)
[Kelsaltan_ ] idem
[djanos ] idem
[sherkin ] gpocentek: apparemment t'auras pas bossé pour rien; merci à toi
[jeromeg ] on attends encore quelques minutes pour les retardataires
[Patlord ] Je suis nerveux
[Hypergraphe ] espérons que u-bot va pas nous lâcher
[gpocentek ] sherkin: c'est jeromeg qui a fait le plus gros je crois
[Hypergraphe ] erk erk :D
[jeromeg ] non c'est gpocentek
[jeromeg ] (allez, on s'envoie des fleurs)
[sherkin ] merci aussi jeromeg, (j'etais en train de l'ecrire )
[sherkin ] Les fleurs ne font pas de mal ...
[illovae ] s'toi la fleur
[jeromeg ] sherkin: si c'est des roses...
[jeromeg ] bon c'est parti les enfants
[sherkin ] Chouette, y'aura du piquant en plus dans le cours de ce soir ?
[illovae ] kewl
[didrocks ] tout ce que je sais, c'est que gpocentek va nous improviser un petit annexe sur les autotools :)
[gpocentek ] haha
[jeromeg ] gpocentek: tu gère les voice ?
[jeromeg ] +s
:gpocentek!i=gauvain@ubuntu/member/gloubiboulga PRIVMSG #u-classroom :jeromeg: ok
[jeromeg ] c'est parti
[jeromeg ] ==== Installation d'une application à partir des sources ====
[jeromeg ] Au premier abord, on pourrait se demander quel est l'intérêt de l'installation d'une application à partir des sources alors que l'on peut installer les applications très simplement grâce aux paquets de la distribution que vous utilisez.
[jeromeg ] Tout d'abord, toutes les applications ne sont pas disponibles dans les dépots des distributions, ou les paquets peuvent ne pas être à jour...
[jeromeg ] Mais une compilation à partir des sources permet aussi de personnaliser votre installation : vous pouvez souvent activer ou désactiver des options pour améliorer les performances, ajouter des fonctionnalités intéressantes, retirer des fonctionnalités qui ne vous servent à rien; bref, faire du sur mesure.
[jeromeg ] Cependant, ceci n'est pas sans risques : il n'est pas conseillé (pour le commun des mortels) d'installer à partir des sources des parties clé du système comme le serveur X, les principales bibliothèques, ou des pilotes vitaux pour le système...
[jeromeg ] Il vaut mieux se contenter de compiler des applications ou des bibliothèques qui ont peu ou pas d'influence sur le reste du système.
[jeromeg ] Nous allons nous intéresser à la compilation de Irssi (http://irssi.org/), un client IRC en console.
[jeromeg ] (spécial illovae)
[jeromeg ] des questions ?
[jeromeg ] enfin, si gpocentek vous laisse parler ?
[illovae ] tsss
[jeromeg ] :)
[ti-sonson ] re
[Hypergraphe ] pas de questions
[hopela_ ] c'est ok pour moi
[billux ] pour l'instant c'est bon
[jeromeg ] bon bah on continue alors
[jeromeg ] === Premier pas : les sources ===
[jeromeg ] Les sources sont souvent le seul mode de distribution d'une application par ses développeurs. Lors de chaque mise à jour, ils mettent à disposition du public une archive contenant le code source. Suivant le language utilisé pour développer l'application, vous allez devoir compiler ces sources puis les installer.
[jeromeg ] Il est souvent utile de consulter la documentation fournie avec les sources, qui explique dans le cas idéal comment les utiliser.
[jeromeg ] Les sources dont disponibles sur les sites Internet officiels des programmes, évitez de les prendre ailleurs, quelqu'un pourrait les avoir modifiées de façon malveillante.
[jeromeg ] Enfin, pour la seule et unique fois de votre vie vous allez faire une entorse à cette règle et prendre les sources ici : http://u-classroom.net/files/2009-02-17/sources/irssi-0.8.12.tar.gz. Ceci nous permettra d'être sûr que tout le monde utilise la même version.
[jeromeg ] Placez cette archive dans un dossier Sources dans votre répertoire personnel et extrayez les. Puis ouvrez un terminal dans le dossier irssi-0.8.12 créé :
[jeromeg ] cd ~/Sources/irssi-0.8.12
[jeromeg ] des questions jusque là ?
[jeromeg ] et d'un
[hopela_ ] non
[illovae ] lol
[jeromeg ] tout le monde a téléchargé et extrait l'archive ?
[gpocentek ] tout le monde a pu récupérer et extraire les sources ?
[chris777 ] oui
[hopela_ ] oui
[sherkin ] ok
[waffle__ ] personne n'a de 56k ? :D
[ongolaBoy ] est-ce qu'il doit y avoir un endroit specifique pour les dossiers d'installation ?
[menoft ] oui c'est bon
[jeromeg ] vous admirerez notre synchronisation avec gpocentek
[gpocentek ] ongolaBoy: dossier de téléchargement ?
[jeromeg ] ongolaBoy: pour extraire les sources non
[jeromeg ] pour les installer on en parlera après
[ongolaBoy ] jeromeg: ok
[illovae ] ongolaBoy: mais quand tu fais souvent ça, utilise un dosseier expÃrès pour comme ça tu sauras où chercher tes sources ;)
[sherkin ] d'hab je mets dans /usr/local/src
[jeromeg ] illovae: enlève le brouillage ;)
[gpocentek ] ACTION offre des accents à illovae
[illovae ] ouai désolé :>
[jeromeg ] bon bah on va continuer
[jeromeg ] la plus dur arrive, soyez courageux :D
[jeromeg ] *le
[jeromeg ] === Deuxième pas : configurer les sources ===
[jeromeg ] Note : à part lorsque c'est mentionné, les manipulations sont à faire en tant qu'utilisateur, non en tant qu'administrateur (root pour les intimes).
[jeromeg ] Avant de lancer une compilation, l'étape de configuration permet d'adapter les sources à votre système, de vérifier que vous avez bien toutes les dépendances, et de régler les options de configuration dont nous avons parlé en introduction.
[jeromeg ] Les dépendances sont la plupart du temps des bibliothèques que l'application à compiler utilise. Il ne suffit pas d'avoir installé ces bibliothèques, il faut aussi avoir la bonne version et installer les headers de compilation de ces bibliothèques.
[jeromeg ] Les headers contiennent en quelque sorte la liste des fonctions assurées par la bibliothèque associée et sont utilisés par le compilateur.
[jeromeg ] S'ils ne sont pas présents l'étape de configuration échouera. Dans Ubuntu et Debian, ces headers sont disponibles dans des paquets dont le nom fini par -dev, dans des paquets -devel sous red hat et similaire.
[jeromeg ] (désolé, j'ai eu une coupure internet)
[jeromeg ] Un script 'configure' est fourni dans les sources. Il permet entre autre de tester si les dépendances sont bien installées. Il s'exécute de cette manière : ./configure
[jeromeg ] des questions ?
[Hypergraphe ] si on veut pas installer dans /usr/bin faut faire un truc sur le ./configure
[Hypergraphe ] non ?
[chris777 ] pour moi ça va
[gpocentek ] Hypergraphe: on y vient après
[jeromeg ] Hypergraphe: oui ça va venir
[Hypergraphe ] ok
[Hypergraphe ] ;)
[hopela_ ] ca va
[Kelsaltan_ ] va bene
[jeromeg ] allez, on continue
[pierre__ ] Comment voit on que c'est bon ?
[gpocentek ] pierre__: c'est juste théorique pour l'instant
[pierre__ ] ok
[gpocentek ] on va passer à la pratique juste après
[pierre__ ] (premier cours...)
[jeromeg ] pierre__: on va y venir, c'est pas grave si tu l'as lancé une première fois
[jeromeg ] gpocentek: on continue ?
[gpocentek ] ok
[jeromeg ] == Hard deps ==
[jeromeg ] je passe la main à gpocentek pour la suite
[gpocentek ] "Hard deps" est un terme un peu barbare
[gpocentek ] ce sont les dépendances nécessaires à la compilation
[gpocentek ] on va les découvrir à l'aide du script ./configure
[gpocentek ] donc je vous propose d'exécuter cette commande, et de rapporter les messages d'erreur que vous aurez
[menoft ] configure: error: Terminfo/termcap not found - install ncurses-devel package
[gpocentek ] je vous laisse lancer le ./configure
[gpocentek ] ACTION note tout et fera une recap après
[menoft ] donc je dois installer ncurses-devel c'est ca?
[gpocentek ] 1 erreur pour menoft
[gpocentek ] menoft: on verra après
[aza ] checking for gawk... no
[Patlord ] error: GLIB is required to build irssi
[kinouchou ] configure: error: C compiler cannot create executables
[ongolaBoy ] ok chez moi . un log a ete cree
[aza ] checking whether to enable maintainer-specific portions of Makefiles... no
[Kelsaltan_ ] error: GLIB is required to build irssi
[cazutage_ ] GLIB is required to build irssi.
[chris777 ] Error linking with perl libraries:
[aza ] configure: error: C compiler cannot create executables
[djanos ] idem que menoft
[hopela_ ] glib aussi
[gpocentek ] ok, on a quasiment toutes les erreurs possibles
[jeromeg ] c'est du beau !
[Asche ] idem que menoft : "configure: error: Terminfo/termcap not found - install ncurses-devel package"
[gpocentek ] c'est bien :)
[gpocentek ] ok, on va faire le point
[gpocentek ] < aza> checking for gawk... no
[gpocentek ] gawk est simplement un logiciel à installer
[gpocentek ] c'est un outil de manipulation de texte (GNU awk)
[gpocentek ] dans ce cas le message signifie siplement qu'il faut que vous installiez le paquet 'gawk'
[gpocentek ] ça vous parait clair ?
[aza ] oui
[gpocentek ] ok
[gpocentek ] une fois que vous avez résolu un problème, il suffit de relancer ./configure pour continuer
[gpocentek ] une erreur qu'on n'a pas eu c'est celle ci :
[gpocentek ] configure: error: no acceptable C compiler found in $PATH
[jeromeg ] ou alors y'a des timides
[gpocentek ] irssi est écrit en langage C, et a besoin d'un compilateur pour ce langage
[gpocentek ] le compilateur de référence sous linux est 'gcc'
[gpocentek ] donc, il faut installer ce paquet
[gpocentek ] ok pour ça ?
[Patlord ] Dans le cas de GLIB, que faut-il installer?
[jeromeg ] on va y venir
[gpocentek ] Patlord: j'y viens
[gpocentek ] ok je continue avec une erreur qu'on voit souvent sur les forums :)
[gpocentek ] * configure: error: C compiler cannot create executables
[gpocentek ] gcc seul ne sait pas faire grand chose
[gpocentek ] il a besoin de la "bibliothèque C standard"
[gpocentek ] c'est un ensemble de fonctions "de base" du langage C
[gpocentek ] cette bibliothèque est fournie par le paquet libc6, mais il n'est pas suffisant pour la compilation
[gpocentek ] je vais rentrer un peu dans le détail des bibliothèques
[gpocentek ] Une bibliothèque fournit un essemble de fonctions dont le seul but est d'être utilisées par un logiciel (ou une autre bibliothèque).
[gpocentek ] Dans le cas de langages compilées, ces bibliothèques fournissent plusieurs éléments :
[gpocentek ] * son code compilé, le plus souvent sous forme de bibliothèque partagée (fichier .so). Ce fichier contient du code exécutable, et est lié au logiciel qui l'utilise. C'est le seul fichier nécessaire à l'exécution d'un programme
[gpocentek ] * ses fichiers en-tête (mentionnés tout à l'heure). Ce sont des fichiers (avec extension .h ou .hh pour les langages C et C++) lisibles, qui décrivent les fonctions qur propose la bibliothèque. Ces fichiers sont nécessaires à la compilation
[gpocentek ] * optionellement, des fichiers d'aide à la compilation, qui ne sont donc pas utiles à l'exécution
[gpocentek ] dans notre cas, la bibliothèque partagée est installée, mais pas les headers
[gpocentek ] (c'est lié au packaging)
[gpocentek ] donc la solution est d'installer le paquet 'libc6-dev'
[ongolaBoy ] y a t'il un moyen de savoir a quel paquet appartient une bibliotheque?
[gpocentek ] c'est fort théorique
[gpocentek ] ongolaBoy: le paquet a le nom de la bibliothèque
[jeromeg ] avec lib devant souvent
[gpocentek ] Les distributions possèdent en général un système de packaging qui permet d'installer les fichiers nécessaires à l'exécution et ceux nécessaires à la compilation à partir de paquets différents. C'est pourquoi avoir une bibliothèque installé ne suffit en général pas à pouvoir compiler un logiciel utilisant cette bibliothèque.
[gpocentek ] De manière générale, sur les systèmes debian, les paquets s'appellent lib(X)-dev ; sous red hat, -devel. apt-cache et yum permettent de rechercher ses paquets.
[gpocentek ] est-ce que ça vous parait clair ?
[K-Phoen ] absolument =)
[hopela_ ] oui
[billux ] oui
[chris777 ] oui
[gpocentek ] du coup vous allez pouvoir trouver la solution pour l'erreur liée à glib :)
[gpocentek ] c'est exactement le même principe
[menoft ] oui
[gpocentek ] il nous manque la lib 'glib', donc on checrche un paquet libglib, avec un e extension -dev
[gpocentek ] vous pouvez utiliser 'apt-cache libglib dev' pour chercher le paquet qui manque
[pierre__ ] il existe plusieurs versions
[gpocentek ] oui
[Patlord ] un paquet avec une extension "-dev" n'installe que les headers?
[Hypergraphe ] +
[Hypergraphe ] o/
[gpocentek ] Patlord: il installe les headers + la bibliothèque par dépendance
[gpocentek ] pour répondre à pierre
[jeromeg ] gpocentek: t'as oublié le "search" non ?
[jeromeg ] dans apt-cache
[gpocentek ] jeromeg: oui
[gpocentek ] libglib-java-dev - Java bindings for GLib (development files)
:gpocentek!i=gauvain@ubuntu/member/gloubiboulga PRIVMSG #u-classroom :libglib1.2-dev - The GLib library of C routines (development)
:gpocentek!i=gauvain@ubuntu/member/gloubiboulga PRIVMSG #u-classroom :libglibmm-2.4-dev - C++ wrapper for the GLib toolkit (development files)
:gpocentek!i=gauvain@ubuntu/member/gloubiboulga PRIVMSG #u-classroom :libglib-perl - Perl interface to the GLib and GObject libraries
:gpocentek!i=gauvain@ubuntu/member/gloubiboulga PRIVMSG #u-classroom :libglib2.0-dev - Development files for the GLib library
[gpocentek ] les paquets proposés sont ceux lÃ
[gpocentek ] on cherche une bibliothèque C
[gpocentek ] pas java, pas C++
[gpocentek ] ni perl
[gpocentek ] il ne reste que 2 solutions, libglib1.2-dev et libglib2.0-dev
[jeromeg ] et comme on est branchés
[jeromeg ] et très 2.0
[gpocentek ] on prend simplement la plus récente
[illovae ] lol
[gpocentek ] est-ce que c'est clair ?
[hopela_ ] oui
[ongolaBoy ] jeromeg: il n'y a qu'une difference de versions entre les deux ?
[Patlord ] oui merci
[jeromeg ] ongolaBoy: non
[piti ] ongolaBoy: 1.2<2.0
[jeromeg ] ongolaBoy: la vielle n'est là que parce que certains logiciels ne fonctionnent pas avec la nouvelle
[menoft ] question subsidiaire : le 2.0 c'est la version supérieur ( plus a jour que 1.2 ) ou c'est autre chose ??
[jeromeg ] souvent des applications dont le développement est arreté
[jeromeg ] menoft: en gros c'est une réécriture totale
[jeromeg ] mais c'est à l'origine les mçmes développeurs
[jeromeg ] *mêmes
[gpocentek ] ok pour tout le monde ?
[gpocentek ] on continue ?
[pierre__ ] ok
[chris777 ] ok
[gpocentek ] la dernière erreur qu'on a eu c'est "Terminfo/termcap not found"
[gpocentek ] comme suggérer pas le message d'erreur, il faut installer 'ncurses-devel'
[gpocentek ] suggéré*
[gpocentek ] par*
[gpocentek ] (désolé)
[gpocentek ] ncurses-devel est un paquet red hat
[gpocentek ] pour debian ce sera libncurses5-dev
[gpocentek ] (qui respecte bien la nomenclature dont on a parlé)
[ongolaBoy ] ACTION suppose que pour chacun de ces packages on aurait applique la meme procedure qu'on apprend ce soir
[jeromeg ] ongolaBoy: c'est à dire ?
[gpocentek ] donc pour résumer il faut install gcc, libc6-dev, libglib2.0-dev et libncurses5-dev
[gpocentek ] et votre ./configure n'échouera pas
[gpocentek ] (installez tout ça pour tester)
[ongolaBoy ] jeromeg: pour assurer les dependances on a installer via apt certains packages
[pierre__ ] j'ai une autre erreur
[gpocentek ] pierre__: oui ?
[pierre__ ] Error linking with perl libraries
[jeromeg ] ongolaBoy: oui, et ?
[pierre__ ] mais cela ne semble pas crucial
[ongolaBoy ] jeromeg: mais ceux ci pourraie etre installe manuellement comme pour irssi n'est ce pas ?
[gpocentek ] pierre__: exact, ça n'empêche pas de continuer, j'y viens après
[jeromeg ] ongolaBoy: oui, mais ça serait plus embetant à gérer
[ongolaBoy ] jeromeg: ok
[jeromeg ] il faudrait les installer au bon endroit
[pierre__ ] ok
[gpocentek ] je passe à la suite
[jeromeg ] pour commencer, il vaut mieux se contenter de compiler des programmes dont on a toutes les dépendances
[gpocentek ] == Soft deps ==
[gpocentek ] Le script 'configure' permet également de spécifier certaines options. Les plus courantes sont le préfixe (où seront installés les données) ou le dossier d'installation des fichiers de configuration.
[gpocentek ] Souvent, les logiciels proposent en plus d'activer ou désactiver certaines options.
[gpocentek ] Pour obtenir la liste des options disponibles :
[gpocentek ] ./configure --help
[gpocentek ] Pour notre exemple, nous allons faire une installation standard, et activer la compilation du bot et du garbage collector (nécessite libgc-dev). Nous allons donc utiliser :
[gpocentek ] ./configure --prefix=/usr --sysconfdir=/etc --with-bot --with-gc
[gpocentek ] je vous laisse lancer ça, et installer ce qui manque éventuellement
[illovae ] si on a déjà une version d'irssi on laisse le prefix=/usr ?
[gpocentek ] le fait d'activer certaines options peut nécessiter d'autres dépendances (c'est le cas pour le garbage collector)
[jeromeg ] illovae: c'est déconseillé
[gpocentek ] illovae: tu peux installer dans /usr/local
[gpocentek ] voire /opt
[jeromeg ] illovae: tu risques d'écraser la version existante
[illovae ] ok merci
[gpocentek ] d'autres questions ?
[illovae ] est-ce possible alors d'installer notre version d'irssi avec un autre nom ? si on veut garder aussi la version des dépots ?
[gpocentek ] illovae: à priori les autotools supportent ça, mais d'après mon expérience c'est assez souvent mal implémenté
[gpocentek ] et pas trop fonctionnel
[illovae ] arf ok
[gpocentek ] est-ce que le ./configure a fonctionné pour tout le monde ?
[pierre__ ] ok
[Asche ] non, libcurses veut pas s'installer pour moi :(
[chris777 ] non j'ai encore ce problème
[chris777 ] checking whether to enable maintainer-specific portions of Makefiles... no
[gpocentek ] Asche: libncurses5-dev ?
[gpocentek ] chris777: ça arrête le ./configure ?
[Asche ] oui apt-get me renvoie une erreur
[gpocentek ] Asche: ça dit quoi ?
[chris777 ] non à la fin j'ai
[Asche ] Certains paquets ne peuvent être installés. Ceci peut signifier
[Asche ] que vous avez demandé l'impossible, ou bien, si vous utilisez
:Asche!n=asche@136.113.205-77.rev.gaoland.net PRIVMSG #u-classroom :la distribution unstable, que certains paquets n'ont pas encore
:Asche!n=asche@136.113.205-77.rev.gaoland.net PRIVMSG #u-classroom :été créés ou ne sont pas sortis d'Incoming.
:Asche!n=asche@136.113.205-77.rev.gaoland.net PRIVMSG #u-classroom :Puisque vous n'avez demandé qu'une seule opération, le paquet n'est
:Asche!n=asche@136.113.205-77.rev.gaoland.net PRIVMSG #u-classroom :probablement pas installable et vous devriez envoyer un rapport de bogue.
[Asche ] L'information suivante devrait vous aider à résoudre la situation :
[Asche ] Les paquets suivants contiennent des dépendances non satisfaites :
[Asche ] libncurses5-dev: Dépend: libncurses5 (= 5.6+20071124-1ubuntu2) mais 5.6+20080308-1 devra être installé
[chris777 ] Building irssi proxy ............. : no
[Asche ] E: Paquets défectueux
[sherkin ] Si on a extrait les sources dans /usr/local/src . prefix est implicitement /usr/local , ou paa toujours ?
[gpocentek ] Asche: sudo apt-get update
[sherkin ] *pas
[gpocentek ] chris777: c'est pas un souci
[chris777 ] Building with Perl support ....... : NO!
[chris777 ] Building with SSL support ........ : no
[gpocentek ] c'est pas parce que le ./configure vus dit 'no' que c'est une erreur
[chris777 ] ok
[djanos ] Building with Perl support ....... : NO! mais sa empèche pas de terminé
[gpocentek ] oui
[kinouchou ] checking for working Perl support... error linking with perl libraries, building without Perl
[gpocentek ] vous pourrez vous amuser à reconfigurer avec le support perm
[gpocentek ] perl*
[chris777 ] non il ne me semble pas
[Asche ] j'ai fait l'update j'ai ppa.launchpad qui ne fonctionne pas et quand je recommence à essayer d'installer libcurses5-dev çe ne fonctionne pas
[gpocentek ] on ne le fera pas pour le cours
[gpocentek ] Asche: essaie de voir sur #ubuntu-fr pour résoudre ça
[Asche ] ok ;)
[gpocentek ] on va passer à la compilation maintenant
[gpocentek ] === Troisième pas : compiler les sources ===
[gpocentek ] La compilation à proprement parler n'est pas systématiquement nécessaire. Certains langages n'en ont pas besoin (python, perl, php...).
[gpocentek ] Pour les langages compilés (tel que le C utilisé par irssi), l'étape de compilation est en général automatisée à l'aide de l'outil 'make'.
[gpocentek ] Cet outil utilise des fichiers 'Makefile' qui permettent de simplement générer les fichiers binaires à partir des sources.
[gpocentek ] Les Makefile sont tout à fait autonomes, mais dans le cas d'irssi et des logiciels utilisant les autotools, ils sont générés par le script ./configure en utilisant des fichiers Makefile.in.
[gpocentek ] Les données de configuration sont transmises aux Makefile afin d'adapter la compilation au système sur lequel elle se passe et aux options que vous avez données.
[gpocentek ] Une fois la compilation des sources faite, les fichiers sont liés aux bibliothèques dont ils ont besoin.
[gpocentek ] La conséquence directe de ce lien, est que la suppression d'une bibliothèque de votre système a de forte chance d'empêcher le fonctionnement correct du logiciel qui en a besoin.
[gpocentek ] Contrairement à ce qui se passe avec un système de paquets, les dépendances ne sont pas du tout gérées, c'est à vous d'y faire attention.
[gpocentek ] Cependant, vous pouvez tout à fait supprimer les paquets de développement des bibliothèques après compilation (les paquets -dev ou -devel).
[gpocentek ] Pour compiler irssi, utilisez simplement la commande :
[gpocentek ] beaucoup de blabla pour une commande :)
[gpocentek ] mais je pense que ça vaut le coup de savoir ce qui se passe
[illovae ] juste avant, est-ce qu'il y a une autre façon de connaître les dépendances plutôt qu'en lancant un ./configure ?
[jeromeg ] illovae: oui
[gpocentek ] illovae: il y a d'autres myens oui
[piti ] illovae: en lisant README ?
[gpocentek ] par exemple :)
[jeromeg ] piti: il n'y en a pas toujours un
[illovae ] jeromeg: dans les sources bien faite :p
[jeromeg ] mais tu peux aussi ouvrir le configure avec un éditeur de texte
[gpocentek ] en lisant le configure.in ou les sources aussi
[illovae ] ok
[piti ] il n'y a pas toujours de Makefile ni de configure non plus
[gpocentek ] (est-ce que le 'make' fonctionne pour tout le monde ?)
[jeromeg ] illovae: de toute façon, au bout d'un moment, t'as tout d'installé sur ton sytème :D
[Patlord ] ça tourne ;-)
[pierre__ ] ok
[illovae ] jeromeg: ouai mais bon :p
[gpocentek ] faites moi signe quand la compilation a fini
[illovae ] o/
[illovae ] ACTION fuit
[Kelsaltan_ ] ok
[Patlord ] OK
[kinouchou ] ok
:Patlord!n=chatzill@91.177.124.92 PRIVMSG #u-classroom :Oups désolé pour les majuscules
[hopela_ ] ok
[billux ] c'est bon
[chris777 ] c'est bon
[gpocentek ] ok, je vais passer à la suite
[gpocentek ] === Enfin : installer les données générées ===
[gpocentek ] La dernière étape est l'installation de ce qui a été compilé.
[gpocentek ] Ceci est toujours géré par make et les Makefiles.
[gpocentek ] Notez que pour certains logiciel l'étape d'installation n'est pas nécessaire pour que le logiciel fonctionne correctement (souvent de petits projets).
[gpocentek ] Notre étape de configuration a défini /usr et /etc comme préfixe et dossier de configuration, nous allons devoir utiliser les droits d'administrateur pour l'installation :
[gpocentek ] sudo make install
[gpocentek ] ou sur les sytèmes sans sudo :
[gpocentek ] su
[gpocentek ] make install
[gpocentek ] et maintenant vous pouvez fièrement lancer 'irssi' dans votre terminal pour que le logiciel démarre
[hopela_ ] \o/
[gpocentek ] :)
[pierre__ ] ca marche
[kinouchou ] ok
[chris777 ] ça marche
[billux ] cool
[chris777 ] il fait quoi de beau ce logiciel
[chris777 ] ?
[gpocentek ] c'est un client irc
[jeromeg ] le meilleur ;)
[menoft006 ] question : maintnenant que c'est installé et que ca marche , disons que je veux le supprimer je lance sudo make uninstall mais si le uninstall n'est pas disponible je fais comment ?
[djanos ] ok pour moi
[ongolaBoy ] en passant, il peut fonction derriere un proxy ?
[gpocentek ] menoft006: j'y viens justement
[illovae ] ongolaBoy: ouai bien sûr
[gpocentek ] ongolaBoy: si compilé avec l'option, oui
[gpocentek ] (cf la récap du ./configure)
[gpocentek ] === Désinstallation (pour ceux qui ne sont pas tombés amoureux de Irssi, ils ont tort mais bon...) ===
[gpocentek ] (le commentaire est de jeromeg :p )
[gpocentek ] La désinstallation nécessite le dossier des sources, et les sources doivent être configurées avec les mêmes options que lors de l'installation, en particulier l'option --prefix.
[gpocentek ] Si vous avez accidentellement supprimé le dossier des sources, il suffit donc de retélécharger les sources et de les reconfigurer avec les mêmes options que lors de l'installation.
[gpocentek ] Pour désinstaller Irssi placez vous à la racine du dossier :
[gpocentek ] cd ~/Sources/irssi-0.8.12
[gpocentek ] Et utilisez la commande suivante :
[gpocentek ] sudo make uninstall
[gpocentek ] Ceci supprimera tous les fichiers qui ont été installés lors de l'étape précédente. Il ne vous reste plus qu'à supprimer le dossier des sources.
[gpocentek ] menoft006: ça répond à ta question ?
[menoft006 ] non
[menoft006 ] :)
[gpocentek ] ah
[jeromeg ] bon
[gpocentek ] alors j'ai pas compris la question
[illovae ] il veut savoir comment faire s'il y a pas de regle uninstall dans le Makefile
[jeromeg ] moi j'en ai marre de ce cours
[menoft006 ] je disais que si l'option uninstall n'est pas disponible
[jeromeg ] donc j'y vais :D
[gpocentek ] menoft006: ah !
[illovae ] jeromeg: rofl
[gpocentek ] dans ce cas il faut désinstaller à la main
[jeromeg ] (blague à part, je dois y aller)
[illovae ] jeromeg: attend j'ai une remarque à faire :p
[illovae ] ah dommage ^^
[jeromeg ] tout le monde m'attends pour manger
[illovae ] bon app' alors jeromeg :)
[gpocentek ] merci jeromeg ;)
[jeromeg ] merci à tous les gens qui sont venus
[hopela_ ] et bon app :)
[chris777 ] merci jeromeg
[jeromeg ] merci à gpocentek
[illovae ] merci à toi jeromeg :)
[kinouchou ] bon app
[jeromeg ] merci à nos sponsors
[billux ] merci à toi
[gpocentek ] menoft006: si les sources utilisent les autotools, l'option uninstall existe
[Patlord ] merci jeromeg
[jeromeg ] Ã mon papa
[jeromeg ] et à ma maman
[illovae ] lool
[illovae ] (et à ton nounours roudoudou tu peux le dire qui te supporte chaque nuit :p)
[jeromeg ] c'est bon j'ai fait le tour, j'essayerai de faire mieux la prochaine fois
[michel_ ] nous venons de nous connecter du cameroun malheuresement nous n'avois aps de connection avant
[piti ] gpocentek: les trucs à base de cmake aussi, non ?
[gpocentek ] piti: aussi
[jeromeg ] illovae: parle pas de nounours comme ça
[jeromeg ] ++
[illovae ] hehe
[gpocentek ] est-ce qu'il y a des questions ?
[michel_ ] exsite-t-il un texte de cette session?
[hopela_ ] pas pour moi
[menoft006 ] oook ! je pose cette question car j'utilise pour ma webcam des sources dont l'option n'existe pas !
[illovae ] gpocentek: j'ai une petite remarque à faire si tu permet, je trouve dommage d'installer les logiciels qu'on compile par les sources dans /usr ; n'est-il pas plus judicieux de les mettre dans /usr/local et de laisser /usr poru tout ce qui vient des dépots ?
[gpocentek ] michel_: pas encore, mais il y aura ça sur le wiki d'ici peu (http://u-classroom.net/wiki)
[illovae ] logiciels, librairies, etc
[illovae ] s/poru/pour/
[gpocentek ] illovae: je pense honnêtement qu'il n'y a pas de "vraie" règle
[sherkin ] michel_: http://u-classroom.net/logs/2009-02-17-compilation.html
[illovae ] d'ailleurs /usr/local est généralemetn le path par défaut, et beaucoup de gens ont un partoche spéciale poru /usr/local
[gpocentek ] et que c'est à l'admin système de faire son choix
[gpocentek ] c'est vrai
[illovae ] gpocentek: oui j'imagine que ça se discute, je trouve ça moisn judicieux en fait...
[ongolaBoy ] excusez moi si on a explique avant mais que designez-vous par 'autotools' ?
[gpocentek ] ceci dit installer dans /usr/local ça donne parfois des trucs un peu tordus
[gpocentek ] ongolaBoy: ah oui, j'ai pas précisé
[gpocentek ] ongolaBoy: les autotools sont un ensemble d'applications qui facilitent les installation génériques
[illovae ] j'avoue que j'ai jamais eu de soucis avec /usr/local/ sauf pour des librairies où j'ai du faire des links de /usr/local/lib vers /usr/lib
[gpocentek ] ongolaBoy: et leur particularité est de proposé une installation simple avec ./configure, make et make install
[michel_ ] ongolaBoy: on est a limbe dans l'ecole, viens-tu a limbe samedi?
[gpocentek ] proposer*
[illovae ] merci pour ce cours gpocentek :)
[gpocentek ] de rien ;)
[gpocentek ] juste une petite conclusion
[gpocentek ] on n'a vu aujourd'hui qu'un exemple, assez simple à gérer
[gpocentek ] il faut savoir qu'il existe d'autres méthodes, liés à ce que le développeur des sources a voulu utiliser
[gpocentek ] il se peut également que des erreurs surviennent qui nécessitent de modifier le code source (et oui)
[gpocentek ] je pense que la partie la plus "difficile" dans tous les cas est l'installation des dépendances requises
[gpocentek ] ce qui ne devrait plus être un problème pour vous maintenant ;)
[gpocentek ] voilà voilÃ
[chris777 ] merci pour ce cour gpocentek et passez tous une bonne fin de soirée
[hopela_ ] merci :)
[gpocentek ] n'hésitez pas à revenir poser des questions sur le chan si besoin
[Patlord ] Encore merci, je m'en vais de ce pas tester IRSSI ;-)
[kinouchou ] merci
[pierre__ ] Encore merci
[menoft006 ] juste un petit apparté : j'ai essayé d'installer la dernière version de cheese ! et j'ai lamentablement échoué a cause des dépendances. ya il des contreindications sur l'installations des dépendances ?
[gpocentek ] menoft006: tant que tu peux les installer depuis les dépôts, pas de soucis
[gpocentek ] si tu dois mettre à jour GNOME en compilant... là ça devient plus problèmatique
[chris777 ] oui j'aurais besoin de vous plus tard pour ça: https://groups.google.com/group/microdia/web/testing-microdia-driver-draft
[gpocentek ] (sauf si tu sais ce que tu fais, ou que tu veut te lancer dans l'aventure)
[menoft006 ] justement les sources de cheese demandais des version supérieurs !
[chris777 ] dit moi un moment où on pourrait se trouver
[billux ] une petite question : c'est quoi la différence entre make et cmake ?
[gpocentek ] billux: cmake est un outil différent, mais qui fait la même chose, pour résumer grossièrement
[menoft006 ] en tout cas merci beaucoup pour le cours ! j'avais complétement zappé des choses !
[gpocentek ] billux: cmake gère aussi la partie configuration, à l'inverse de make
[gpocentek ] chris777: c'est quoi le problème que tu as ?