CR Cycabtk du 22 et 27 Juin 2007
Présents :
- Soraya Arias, Amaury Nègre, Mehdi Rabah, Manuel Yguel (le 22)
- Soraya Arias, Christophe Braillon, Mehdi Rabah (le 27)
Ordre du jour
- topo et retour sur l'installation (makefile, cmake ...)
- topo sur l'etat du code : quels developpements en cours, est-ce que tout a ete teste, qu'est-ce qui reste a faire ?
- lien entre le noyau Hugr et la partie dediee a la simulation via mgengine. Et si mgengine n'existait plus ?
- point subsidiaire : comment reagir aux retours des users si retours il y a eu ?
Installation sur des machines linux non Debian compliant (en l'occurence des Fedora Core 6):
- Pas de paquets RPM à jour
- Compiler les bibliotheques et autres binaires à partir des sources
- 2 manières de faire possible : via
cmake
, en utilisant le Makefile directement
- 2 manières qui ont des comportements différents
- En suivant le README ou la page WEB :
- pas de manière simple de compiler uniquement la partie Hugr/HugrWeb sans la partie liée à la simulation 3D fortement dépendante de mgengine
- les exemples d'utilisation proposés dans le README ou sur le site WEB indiquent tous de lancer hugrstore et mgengine. Pas d'exemple d'utilisation de hugrstore en "standalone".
- pour que la compilation se passe bien il faut absolument avoir mgengine et les bibliothèques correspondantes. Donc récuperer les sources de mgengine et compiler mgengine (pas de RPM).
- Les sources obtenus à partir du dépôt SVN du projet contiennent des données par forcement pertinente pour un utilisateur non développeur du projet (ex répertoires Data/htdocs (sources du site WEB cycabtk), GUI (obsolete) ...).
- La version des fichiers source sur le dépôt et celles des fichiers utilisés pour produire les paquets debian mis à disposition sont différentes. Il serait plus préférable de ne fournir à l'utilisateur non développeur de cycabtk que les fichiers source utilisés pour générer les paquets debian, voire rpm proposés en téléchargement.
- Si on décide d'installer les binaires et les bibliothèques sous un répertoire différent de celui par défaut, ie
/usr/
, cela produit des pbs avec :
- les fichiers pythons qui créent les fichiers de configuration utilisateur sous les répertoires :
.mgengine/
.hugr/
- la configuration sous Actors
- Quand les binaires sont installés, ils le sont directement sous
/usr/bin
(chemin par défaut). Peut-être qu'il serait plus judicieux de les regrouper dans un répertoire, ex: sous /usr/bin/cycabtk/
.
- Si on utilise
checkinstall
pour générer les paquets rpm, le fichier rpm généré inclut les binaires /usr/make
, /usr/find
, /usr/xargs
. Conséquence : l'installation du rpm échoue, car le système refuse de remplacer un binaire existant par un autre qui provient d'un paquetage différent !
- Une solution a été trouvé pour forcer explicitement
checkinstall
à ne pas inclure ces binaires (option --exclude)
- Le fichier rpm hugr généré ne contient que les binaires ou bibliothèques. Pour installer les fichiers nécessaires au développement avec Hugr, il faut installer le paquetage hugr-devel.
- Information à rajouter dans le README et la documentation sur le site web.
Conclusion :
- Nécessité de ne fournir qu'1 manière de compiler les sources :
- Revoir le processus de déploiement des binaires et bibliothèques (scripts indépendant du chemin
prefix
)
- Revoir la partie documentation pour expliquer la compilation séparée des éléments composants cycabtk (Hugr, objets simulés dépendant de mgengine...)
- Proposer un fichier .tgz contenant les fichiers source nécessaires pour générer les binaires et bibliothèques pour cycabtk. De plus ces sources devront être les mêmes que ceux à partir desquels les paquets debian (voire rpm?) ont été générés.
Développements en cours, Tests en cours
- Rendre le noyau Hugr accessible en réparti
- Mehdi s'est intéressé à Asio (associé à Boost). Asio n'est pas encore intégré au paquet Boost.
- Christophe est en train de faire un état de l'art sur les approches utilisant des middlewares à la Hugr. Il souhaiterait étudier les solutions issues de la programmation par composant (cf Fractal).
- Revoir la procédure de fermeture de hugrstore (hugrweb ??). Parfois les ressources utilisées ne sont pas libérées en fin d'utilisation, et cela a des effets de bord lorsque l'on relance hugrstore avec une taille mémoire différente, notamment (Christophe).
- Gérer un timeout lors des read bloquant sur une mise à jour d'une variable sur la zone de mémoire partagée (Amaury).
- Corriger la gestion du read bloquant sur des données de type Iplimage (Amaury).
- Corriger la gestion du Zbuffer (pour la simulation du laser) quand la carte graphique n'est pas bien reconnue (Manuel)
- Proposer un autre service de log pour lequel tout l'historique des modifications d'une instance de hugrstore et pas seulement l'historique d'un sous-ensemble de variables de la zone de mémoire,comme c'est le cas avec hugrlog (Manuel).
- Proposer 2 clients graphiques, developpés en Qt (Manuel):
- hugrscope : qui permet d'exploiter des données issus des log de hugrlog
- laserscope : qui permet de rejouer en simulation des données obtenues lors d'acquisitions d'un laser
Sous
http://gforge.inria.fr/projects/cycabtk/, le trackeur de bug et le gestionnaire de tâche ont été mis à jour pour assigner ces développements aux personnes concernées.
Cycabtk et mgengine
Les classes gérant des acteurs à simuler sont fortement liés à mgengine.
Le principal contributeur de mgengine devrait de nouveau se reintéresser au moteur (nouveau contrat avec le Livic ?).
Une autre alternative à mgengine serait d'étudier Oggr. Mais il faut trouver des gens intéressés par ce travail ...
TODO List
Quoi |
Qui |
Mieux utiliser les ressources de la forge (tracker de bugs, gestionnaire de taches, forums) |
Tous |
Corriger la gestion du read bloquant avec Iplimage |
Amaury |
Ajouter un timeout sur le read bloquant de Hugr |
Amaury |
Corriger la gestion du Zbuffer |
Manuel |
Logguer toutes les maj de la mémoire partagée |
Manuel |
Corriger la fermeture de hugrstore pour libérer toutes les ressources |
Christophe |
Proposer une version Hugr en réparti |
Christophe ? Mehdi ? |
Créer la liste cycabtk@inrialpes.fr dont les moderateurs sont Soraya et Mehdi comme adresse de contact de cycabtk |
Soraya |
Donner les noms des packages dont depend cycatk pour Fedora Core 6 à Mehdi |
Soraya |
Fournir les coding rules du service SED |
Soraya |
--
SorayaArias - 28 Jun 2007