Actualité du Projet GL 2013

De Ensiwiki
Aller à : navigation, rechercher
AttentionCette page est obsolète. Elle a été utilisée pour le Projet GL 2012, et n'est gardée que pour mémoire

Les Nouvelles

27/01/2013 : Maths Vs Math

Pour les lecteurs distraits qui auraient lu un peu vite la grammaire attribuée : la classe Math s'écrit bien au singulier, et non Maths ...

24/01/2013 : Problèmes avec Gcov sur ensibm

Il y avait des problèmes avec gcov sur ensibm dus à des incompatibilités de versions entre gcov et gnatmake. En principe, le problème est résolu (ajout d'un lien symbolique vers gcov 4.5.1 dans /usr/local/GL/Global/Bin). Vous pouvez vérifier que vous avez bien la bonne version de gcov avec la commande :

$ which gcov
/usr/local/GL/Global/Bin/gcov

Si vous avez un résultat différent, vérifiez votre $PATH (cf. SeanceMachine.ps). Si ça ne marche toujours pas, envoyez-moi un email avec une description précise du problème.

23/01/2013 : Connaître le chemin vers le répertoire source de Decac depuis l'Ada

Certains étudiants ont besoin (pour l'intégration de leur classe Math), d'avoir accès au chemin vers le projet pendant l'exécution du compilateur. Il n'est bien sûr pas acceptable de coder en dur un chemin comme $HOME/partage/Projet_GL. En effet, votre compilateur sera recompilé et exécuté sur d'autres machines et donc dans d'autres arborescences de fichiers que la vôtre.

Une solution est de récupérer l'information au moment de la compilation (dans le Makefile), et d'utiliser l'information pendant l'exécution (depuis le code Ada). Voici une solution pour faire ceci :

# Fichier Decac/Src/Makefile

# S'assurer que decac_path.ads est bien généré avant de lancer la compilation Ada
prepare-ada-src: decac_path.ads

# Génération de fichier decac_path.ads.
# Le fichier est généré s'il n'existe pas, ou si le Makefile a été modifié depuis sa création.
decac_path.ads: Makefile
	(echo "-- Generated file, do not edit" ;\
         echo "package Decac_Path is" ;\
         echo "    Toplevel_Path : String := \"$(PWD)/../..\";" ;\
         echo "end Decac_Path;" ) > $@

# Pour faire les choses "proprement" : make clean supprime le fichier généré.
clean: clean-decac-path
.PHONY: clean-decac-path
clean-decac-path:
	-$(RM) decac_path.ads

Bien sûr, le fichier decac_path.ads devient un fichier généré, il ne faut pas faire de git add dessus, et au contraire l'ajouter au fichier .gitignore.

On peut alors accéder au chemin depuis le code Ada avec quelque chose comme ceci :

with Decac_Path;

...

Toto : String := Decac_Path.Toplevel_Path & "/Decac/Src/mon-fichier.tutu";

Pour fonctionner correctement, cette technique peut avoir besoin de correctif de init.make ci-dessous.

23/01/2013 : Correctif mineur sur init.make

Une correction mineure a été appliquée sur le fichier init.make. Pour ceux qui travaillent sur ensibm, vous n'avez rien à faire. Pour les autres, il est conseillé de mettre à jour :

cd "$GL_GLOBAL"
git pull

22/01/2013 : Plus de documentation sur Git

Pour les étudiants qui maitrisent un minimum Git et qui souhaitent aller plus loin dans leur utilisation de l'outil, une nouvelle documentation est disponible sur ce wiki : Maintenir un historique propre avec Git.

17/01/2013 : Un exemple d'utilisation de la classe Math

Vous trouverez dans /usr/local/GL/Global/Doc/calcul-flottant.pdf un énoncé d'exercice qui peut vous permettre de tester votre classe math. Cet exercice vous est proposé à titre d'exemple pour tester votre classe math et n'a rien d'obligatoire.

16/01/2013 : Révocation des anciennes clés SSH

Les clés SSH de début de projet ont été révoquées. Si vous n'avez pas exécuté la commande donnée dans l'actualité du 15/01/2013 ci-dessous, vous n'avez plus accès à votre compte Git. Vous retrouverez votre accès en lançant la commande, comme en début de projet.

15/01/2013 : Génération de nouvelles clés SSH, et révocation des anciennes prochainement

Suite à un problème de sécurité avec les clés SSH, de nouvelles clés ont du être générées. Vous devez récupérer votre nouvelle clé en ré-exécutant la même commande qu'au début du projet (sur chaque machine que vous utilisez, qu'il s'agisse d'une machine personnelle ou d'ensibm) :

$login=monloginensimag
rsync --chmod=go-rwx $login@ensibm.imag.fr:/usr/local/GL/Keys/'$LOGNAME' ~/.ssh/id_projet_gl

Les anciennes clés seront révoquées très prochainement. Vous n'aurez plus accès à vos dépôts si vous ne récupérez pas la nouvelle clé.

Toutes mes excuses, le problème de sécurité vient d'une erreur de ma part. --Moy 15 janvier 2013 à 15:53 (CET)

10/01/2013 : transparents sur l'agilité disponible

Les transparents présentés par Jean-François Jagodzinski sur l'agilité sont disponibles dans /usr/local/GL/Global/Doc/stage/Agilite-pour-les-nuls.pdf.

Pour rappel, les autres transparents utilisées en cours sont disponible dans le même répertoire.

08/01/2013 : petite correction pour l'installation sur machine personnelle

Une petite erreur a été corrigée dans le Makefile de Global/Sources. Si vous obtenez une erreur du type

make[3]: gnaflex : commande introuvable
[...]
make: *** [Creer_Arbres_05/Exec/creer_arbres] Erreur 2

il devrait suffire de lancer git pull puis de relancer make.

20/12/2012 : commande pour récupération de clé SSH

Le document SeanceMachine.ps vous indique une commande pour récupérer votre clé SSH. Pour vous éviter de la recopier à la main, voici une version copie-collable (en définissant $login comme il faut, bien sûr) :

$login=monloginensimag
rsync --chmod=go-rwx $login@ensibm.imag.fr:/usr/local/GL/Keys/'$LOGNAME' ~/.ssh/id_projet_gl

04/12/2012 : répertoire de travail du projet

Le document Seance_Machine.ps vous suggère de travailler dans le répertoire ~/Projet_GL. À l'Ensimag, c'est une mauvaise idée de travailler à la racine de son compte (qui a un tout petit quota, et qui n'est pas partagé entre ensibm et les PCs, cf. la page Gestion des comptes à l'Ensimag pour les détails). Vous êtes fortement encourragés à travailler dans ~/partage/Projet_GL.

Vous pouvez donc remplacer :

  • Dans la section « 3. Création des répertoires du projet », les commandes deviennent :
cd ~/partage
git clone ssh://gl42@ensibm.imag.fr/~/git/ Projet_GL
chmod -R go-rwx Projet_GL
ls
cd Projet_GL
ls
  • Dans la section « 4.1 Dans le fichier .bashrc », le second répertoire à ajouter à votre PATH devient :
$HOME/partage/Projet_GL/Exec
  • Bien sûr, dans toute la suite du document, les références à
 ~/Projet_GL 

deviennent

 ~/partage/Projet_GL.

La version de Seance_Machine.ps qui se trouve dans /usr/local/GL/Global/Doc/Seance_Machine.ps est déjà corrigée.

04/12/2012 : option -x manquante dans Decac.txt

Une option a été oubliée dans la spécification des options en ligne de commande de votre compilateur (fichier Decac.txt). Après les documentation des options -b, -p, -v, -n et -r, il faut ajouter ceci :

. -x       (heXadecimal)  : passe l'affichage des flottants en
                            hexadécimal.

Cette option peut vous être très utile pour tester la gestion fine des nombres flottants par vos compilateurs.

La version de Decac.txt qui se trouve dans /usr/local/GL/Global/Doc/Decac.txt est déjà corrigée.