Installing software in your home directory/fr: Difference between revisions

Jump to navigation Jump to search
no edit summary
No edit summary
No edit summary
Line 31: Line 31:
Le module pour la bibliothèque doit être chargé pour effectuer le ''build'', mais aussi pour exécuter l'application compilée à l'aide de la bibliothèque.
Le module pour la bibliothèque doit être chargé pour effectuer le ''build'', mais aussi pour exécuter l'application compilée à l'aide de la bibliothèque.


<div class="mw-translate-fuzzy">
Le chargement du module d'une bibliothèque configure les variables d'environnement <tt>CPATH</tt> et <tt>LIBRARY_PATH</tt> pour qu'elles pointent sur la bibliothèque elle-même et ses fichiers d’en-tête (voir [[Utiliser des modules]]). La plupart des compilateurs, dont [https://software.intel.com/en-us/node/522775 Intel] et [https://gcc.gnu.org/onlinedocs/gcc/Environment-Variables.html GCC] peuvent traiter ces variables; aux étapes de compilation et de construction des liens, les compilateurs iront automatiquement aux bibliothèques indiquées par les variables d'environnement.  
Le chargement du module d'une bibliothèque configure les variables d'environnement <tt>CPATH</tt> et <tt>LIBRARY_PATH</tt> pour qu'elles pointent sur la bibliothèque elle-même et ses fichiers d’en-tête (voir [[Utiliser des modules]]). La plupart des compilateurs, dont [https://software.intel.com/en-us/node/522775 Intel] et [https://gcc.gnu.org/onlinedocs/gcc/Environment-Variables.html GCC] peuvent traiter ces variables; aux étapes de compilation et de construction des liens, les compilateurs iront automatiquement aux bibliothèques indiquées par les variables d'environnement.  
Ceci permet de facilement établir un lien avec une bibliothèque sans devoir en indiquer le chemin avec les options <tt>-I</tt> et <tt>-L</tt>. Si votre fichier ''make''- ou ''config-'' demande l'endroit spécifique où se trouve la bibliothèque avec <tt>-I</tt> et <tt>-L</tt>, vous pouvez habituellement omettre d’indiquer le chemin en laissant les lignes vides.
Ceci permet de facilement établir un lien avec une bibliothèque sans devoir en indiquer le chemin avec les options <tt>-I</tt> et <tt>-L</tt>. Si votre fichier ''make''- ou ''config-'' demande l'endroit spécifique où se trouve la bibliothèque avec <tt>-I</tt> et <tt>-L</tt>, vous pouvez habituellement omettre d’indiquer le chemin en laissant les lignes vides.
</div>


Dans certains cas cependant, particulièrement avec <tt>cmake</tt>, il peut être nécessaire d'indiquer de manière explicite la localisation de la bibliothèque fournie par le module. La solution préférée et la plus robuste est d'utiliser la variable d'environnement EasyBuild <tt>EBROOT...</tt> plutôt que d'entrer manuellement le chemin. Ceci permet de facilement utiliser différentes chaînes de compilation (''toolchains'') sans modifier les instructions de compilation, en plus de minimiser le risque de lier une bibliothèque non apparentée. Par exemple, pour indiquer la localisation de la bibliothèque GSL, l'option pour <tt>cmake</tt> pourrait ressembler à <tt>-DGSL_DIR=$EBROOTGSL</tt>. Les variables d'environnement <tt>EBROOT...</tt> utilisent la même syntaxe, soit <tt>EBROOT</tt> suivi par le nom du paquet, par exemple <tt>EBROOTGCC</tt>.
Dans certains cas cependant, particulièrement avec <tt>cmake</tt>, il peut être nécessaire d'indiquer de manière explicite la localisation de la bibliothèque fournie par le module. La solution préférée et la plus robuste est d'utiliser la variable d'environnement EasyBuild <tt>EBROOT...</tt> plutôt que d'entrer manuellement le chemin. Ceci permet de facilement utiliser différentes chaînes de compilation (''toolchains'') sans modifier les instructions de compilation, en plus de minimiser le risque de lier une bibliothèque non apparentée. Par exemple, pour indiquer la localisation de la bibliothèque GSL, l'option pour <tt>cmake</tt> pourrait ressembler à <tt>-DGSL_DIR=$EBROOTGSL</tt>. Les variables d'environnement <tt>EBROOT...</tt> utilisent la même syntaxe, soit <tt>EBROOT</tt> suivi par le nom du paquet, par exemple <tt>EBROOTGCC</tt>.
Line 53: Line 51:
* Certains fichiers d'archive comme <code>.jar</code> (Java) ou <code>.whl</code> ([https://pythonwheels.com/ Python wheels]) peuvent contenir des objets qui devront être corrigés. Le script <code>setrpaths.sh</code> extrait ces objets, les corrige et met à jour le fichier d'archive.
* Certains fichiers d'archive comme <code>.jar</code> (Java) ou <code>.whl</code> ([https://pythonwheels.com/ Python wheels]) peuvent contenir des objets qui devront être corrigés. Le script <code>setrpaths.sh</code> extrait ces objets, les corrige et met à jour le fichier d'archive.


<div class="mw-translate-fuzzy">
== Environnement logiciel ==
== Environnement logiciel ==
Le système de fichiers CVMFS (''shared software distribution system'') rend presque tous les logiciels disponibles sur les nouvelles grappes. Sous Linux, les logiciels seraient typiquement installés dans <code>/usr/bin</code>, <code>/usr/include</code> et ainsi de suite, alors que dans notre cas, ils sont installés de manière identique sur toutes les nouvelles grappes sous <code>/cvmfs/soft.computecanada.ca</code>.
Le système de fichiers CVMFS (<i>shared software distribution system</i>) rend presque tous les logiciels disponibles sur les nouvelles grappes. Sous Linux, les logiciels seraient typiquement installés dans <code>/usr/bin</code>, <code>/usr/include</code> et ainsi de suite, alors que dans notre cas, ils sont installés de manière identique sur toutes les nouvelles grappes sous <code>/cvmfs/soft.computecanada.ca</code>.
</div>


Le module <code>gentoo/2020</code> est chargé par défaut et agit comme cœur pour la pile logicielle gérée par le gestionnaire de paquets Gentoo situé sous <code>/cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09</code>.
Le module <code>gentoo/2020</code> est chargé par défaut et agit comme cœur pour la pile logicielle gérée par le gestionnaire de paquets Gentoo situé sous <code>/cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09</code>.
rsnt_translations
53,710

edits

Navigation menu