Compiler des sources

Compiler des sources
——————–

Installer les outils pour compiler (debian)
– binutil
– gcc
– make
– verifier que les includes (fichier.h dans /usr/include) sont presents

Tester les outils de compil
taper en mode console:
=> gcc
si le compilateur gcc est present il y a une erreur du style: « no input file » autrement erreur: « command not found »

Compiler les sources
——————–
– recuperer les sources d’une application (par exemple: www.squeak.org)

– installer les sources
gzip: si le fichier de sources est un tar.gz => tar xzvf fichier.tar.gz
bunzip: si le fichier de sources est un tar.bz2 => tar xjvf fichier.tar.bz2

– premiere chose a faire, lire les fichiers README et/ou INSTALL qui indiqueront la facon de compiler et d’installer les sources (quelque fois ca varie un peu en fonction des sources, comme c’est le cas pour squeak)

– preparer la compilation des sources
taper: ./configure a la racine des sources
(pour squeak, le README nous indique une ligne de commande differente, mais le resultat est identique)

Que fait Configure ? :
———————-
– Teste les caractéristiques du système local
– Produit un header optionnel ‘config.h’ (par défaut)
– Construit le ou les Makefile(s)
– Produit les fichiers de contrôle ‘config.status config.log’
S’il manque des librairies ou des outils de compilation sur le systeme, Configure finira par une erreur.

– compiler les sources
taper: make

Make prend en entree le fichier Makefile qui a ete
genere par configure, il utilise comme point d’entree dans ce fichier, le label (« target »): ‘all:’ qui est suivi des targets a executer. Ensuite chaque target contient des instructions (gcc …) a realiser pour compiler les sources.

Si les outils de compilation ont trouve un erreur, make ne terminera par la compilation et il faudra la corriger et recommencer.
(comme pour squeak, ou il manquait les libX11-dev sur une des machines).

En cas d’echec lors de la compilation, il faut nettoyer les fichiers makefile ayant ete crees automatiquement lors de la compilation avant de recommencer une nouvelle compilation.

Cela se fait grace à la commande:
make clean

– installation
une fois le programme compile, il est opportun de le placer dans un repertoire ou l’ensemble des utilisateurs du systeme pourront le trouver pour l’utiliser
(/usr/local/bin …).

Pour cela, passer en mode administrateur (root) et taper:
make install

La target « install » s’occupe de l’installation de l’application, aussi bien les binaires que la doc, les librairies necessaires et compilees pour cette application.

– tester le binaire
Il est possible de tester le binaire avant son installation (apres le make).

Dans le cas de squeak, il est important de telecharger en plus l’image (le systeme squeak qui contient les outils, l’environnement graphique … de squeak), le programme squeak (le binaire compile ci-dessus) n’etant qu’une machine virtuelle qui va executer le code machine squeak qui se trouve dans l’image a telecharger.

– fin

Paquetage Debian

Création d’un paquet Debian
—————————
Le système de gestion des paquets Debian est complexe et n’est pas forcément convivial pour les novices. Mais il a l’avantage d’être puissant.

Dans cet exercice, on va essayer de clarifier un peu le processus de création d’un paquet pour son installation sur un système de fichier, en partant du plus loin que l’on peut pour un paquet, à ses sources.

Choisir son source
——————
Pour commencer, il faut avoir des sources sous la main
pour construire un exécutable qui fonctionne.

Par exemple le source hello-1.0.tar.gz
que l’on avait presque reussi a fabriquer la derniere fois !!
que vous trouverez a l’adresse:
http://christian.jacolot.free.fr/Finix/Initiations/hello-1.0.tar.gz

Avant de créer le paquet
————————
Verifier que vous avez tous les outils pour creer le paquet debian:
– dh_make
– fakeroot
Sinon, il faut les installer avec « apt-get install ».

Placer le paquet source « hello » dézippé, détarré,
dans un répertoire « paquetdebian ».
– mkdir paquetdebian
– cp hello-1.0.tar.gz paquetdebian
– cd paquetdebian
– tar xzvf hello-1.0.tar.gz

Généralement on obtient:
paquetdebian/hello-1.0/

Glisse toi dans le répertoire:
– cd hello-1.0

Maintenant utilise la commande:
– dh_make -e adresse_email -f ../hello-1.0.tar.gz

Un menu s’affiche, pour l’instant choisir « s » comme « single »,
et normalement c’est tout, le programme s’occupe de tout.

Modifier quelques fichiers
————————–
Le programme précédent a crée un répertoire debian dans le répertoire hello-1.0 et a crée un fichier hello-1.0.orig.tar.gz dans le répertoire père de hello-1.0 (dans paquetdebian).

Ensuite, on peut eventuellement modifier quelques fichiers dans le répertoire debian:
– control: ajouter des commentaires
– copyright: placer un copyright
– changelog: avec le programme dch ajouter un petit commentaire
– rules: ne rien toucher là-dedans pour l’instant
Les autres fichiers ne sont pas utiles pour notre exemple et peuvent rester dans le répertoire.

Créer le paquet hello
———————
Dans le répertoire hello-1.0, taper la commande:
– dpgk-buildpackage -rfakeroot

Et magique, ca marche tout seul, on trouve dans le répertoire père de hello-1.0 les fichiers suivants (dans le repertoire paquetdebian):
– hello_1.0-1.diff.gz
– hello_1.0-1.dsc
– hello_1.0-1_i386.changes
– hello_1.0-1_i386.deb
– hello_1.0.orig.tar.gz

Ensuite …
On peut installer le paquet binaire hello_1.0-1_i386.deb sur son système:
– dpkg -i hello_1.0-1.i386.deb

Ceci était un petit exemple de manipulation de paquets et d’outils debian.

Compte-rendu « Finix Kemper » du 21 mai

Après-midi Linux et logiciels libres à Quimper, à la Maison pour Tous de Kerfeunteun.

Tout a commencé par l’installation et le paramétrage du routeur – Wifi habituel ‘Linksys’.

La réunion était orientée présentations et démonstrations de logiciels libres : OpenOffice, le Gimp, et Firefox, pour l’essentiel.

Thunderbird est plus difficile à « démontrer » car il faut des messages présents (pas personnels..) et éventuellement en recevoir.
J’avais préparé un utilisateur nommé « visiteur », et je réfléchis à la présence de Thunderbird. Christian a émis l’hypothèse de passer par le loopback pour envoyuer (et recevoir) des messages ?
En fait on peut aussi, grâce au routeur – Wifi, s’envoyer des messages via le fournisseur d’accès Internet.

Il est venu une dizaine de personnes, de niveaux différents dans la connaissance de l’informatique en général, ou de Linux. Ces derniers étaient plutôt venus pour ‘en’ parler que pour apprendre du nouveau.
Notons le passage du Directeur de la MPT, venu jeter un coup d’oeil. Vu le prix des licences Microsoft… OpenOffice l’intéresse.

Une semi-Parisienne / semi Finistérienne est passée et a été très intéressée à utiliser les logiciels libres dans son dispensaire, où elle est bénévole, elle aussi intéressée par les possibliltés d’OpenOffice.

Deux personnes se sont fait faire une longue démonstration sur Le Gimp par Christian.

Le nouveau portable de Nicole (Toshiba) a pu être configuré pour le Wifi, grâce à Ndiswrapper (et Christian), et a bien fonctionné sur le Linksys.

Démonstration de la distribution ‘Kaella’ (version 2, fraîchement téléchargée pour la séance). Elle m’a plus impressionné que la personne à qui je l’ai montrée : fonctionnement immédiat, sans rien faire, en Wifi (Intel ip2100) !

Merci à la MPT de Kerfeunteun pour le prêt de la salle.

Quelques photographies ont été prises.

Notes :

* la présence de livres (‘Firefox’ par Chritian Nitot, éditions Eyrolles) ou de revues Linux semble utile pour montrer que des logiciels ‘gratuits’ (mais Internet Explorer aussi) sont tout aussi sérieux que ceux qui coûtent cher (mais que « personne » pourtant n’achète), et font l’objet d’une documentation abondante, claire, bien faite, réellement utilisable. Ces adjectifs ne visent pas un autre système d’exploitation où « l’aide » permet de trouver tout ce qu’on veut, sauf ce qu’on recherche…

* Renvoyer à Internet pour tel ou tel texte (‘Comment bien poser une question’ ; ‘La cathédrale ou le bazar’, etc.) ou URL (Firefox, OpenOffice, Le Gimp,etc.) verbalement, même en donnant l’URL, notée vaguement sur un vieux bout de papier quelconque, semble insuffisant. Chaque personne qui vient à une réunion Finix doit repartir avec « quelque chose » de propre.
(Merci à Christian pour cette excellente idée).

Michel et Christian

Finix Kemper le samedi 21 mai 2005

Journée Linux et logiciels libres à Quimper,
le samedi 21 mai 2005.

La journée sera orientée présentations et démonstrations de logiciels libres (bureautique, dessin, multimédia, jeux …).

Elle se déroulera à la Maison pour Tous du quartier de Kerfeunteun, 1 rue Teilhard de Chardin de 14h00 à 18H00.

Démonstrations logiciels libres: Internet (Mozilla-Firefox, Mozilla-Thunderbird), suite bureautique (OpenOffice.org), retouche d’images (The GIMP), lecture de DVD, jeux…

Installation et démonstration de distribution Linux, les installations sur votre machine personnelle pourront se faire à partir de distributions disponibles sur place en CD et sur des serveurs FTP (pour les machines disposant d’une carte réseau),

Possibilité de graver des CDs des logiciels libres sur place.

Merci à la MPT de Kerfeunteun pour la salle.

Finistère – *nix libres