Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
documentation:tutorials:build:links [2013/02/07 10:34] – créée ltaulelldocumentation:tutorials:build:links [2023/01/13 09:42] (Version actuelle) – supprimée ccalugar
Ligne 1: Ligne 1:
-FIXME remettre en forme 
- 
-origin: https://www.psmn.ens-lyon.fr/tikiwiki4/tiki-index.php?page=Dedition%20de%20liens&bl=y 
- 
-{HTML()} 
-<HR> 
-<center>Pour tout renseignement contacter Hervé Gilquin  
-(Herve.Gilquin@psmn.ens-lyon.fr) 
-ou Cerasela Iliana Calugaru (Cerasela.Iliana.Calugaru@ens-lyon.fr)</center><HR> 
-<P> 
-{HTML} 
- 
-!!::L'édition des liens (linkage) d'une librairie. Exemple - la librairie HDF5 version 1.8.9 :: 
- 
-!!!Statique ou dynamique ? 
- 
-Dans le sous-répertoire ~pp~ lib ~/pp~ du répertoire d'installation ~pp~ /softs/Hdf5/1.8.9/gnu/4.6.3  ~/pp~  on peut voir que la librairie est installée en statique et dynamique : 
- 
-~pp~   
-$ ls /softs/Hdf5/1.8.9/gnu/4.6.3/lib 
-libhdf5.a 
-libhdf5.so 
-... 
-~/pp~ 
- 
-Que se soit en statique ou en dynamique, pour utiliser cette librairie, à l'étape d'édition de liens, en principe il faut rajouter : 
-~pp~  -L/softs/Hdf5/1.8.9/gnu/4.6.3/lib -lhdf5  ~/pp~ 
- 
-!!!Utilisation de la version dynamique 
- 
-Par défaut, c'est la version dynamique qui est d'abord cherchée à l'édition de liens. Dans ce cas, à l'exécution du programme (p.ex sur les nœuds), la variable LD_LIBRARY_PATH devra contenir le chemin de la librairie dynamique. Pour cela, rajouter cette ligne dans le script d'exécution : 
- 
-*Pour csh (et tcsh) : 
- 
-~pp~ 
-setenv LD_LIBRARY_PATH "/softs/Hdf5/1.8.9/gnu/4.6.3/lib:$LD_LIBRARY_PATH"   
-~/pp~ 
- 
-*Pour sh (et bash) : 
- 
-~pp~ 
-export LD_LIBRARY_PATH=/softs/Hdf5/1.8.9/gnu/4.6.3/lib:$LD_LIBRARY_PATH 
-~/pp~ 
- 
-!!!Utilisation de la version statique 
- 
-Pour linker avec la version statique utiliser l'option "-static". Exemple : 
- 
-~pp~ 
-gcc ... -static ... -L/softs/Hdf5/1.8.9/gnu/4.6.3/lib -lhdf5 ... 
-~/pp~ 
- 
-!!!!Remarque  
-Utiliser l'option "-static" implique de linker toutes les librairies en statique. Pour que seule la librairie voulue (ici libhdf5) soit liée en statique, utiliser le nom complet de la librairie : 
- 
-~pp~ 
-gcc ... /softs/Hdf5/1.8.9/gnu/4.6.3/lib/libhdf5.a ... 
-~/pp~ 
- 
-!!!Commentaire 
-La discussion ci-dessus se pose seulement si les deux versions (statique et dynamique) sont installées (comme pour HDF5). Si pour une (autre) librairie seule la version statique (ou dynamique) est installée, il suffit de rajouter ~pp~  -L/répertoire_de_recherche -lnom_librairie  ~/pp~ pour linker avec libnom_librarie.a (ou libnom_librarie.so) 
- 
-{HTML()} 
-<p></p> 
-<hr /> 
-<center> 
-<h5>Pôle Scientifique de Modélisation Numérique</h5> 
-</center> <hr /> 
-{HTML} 
  
documentation/tutorials/build/links.1360233250.txt.gz · Dernière modification : 2020/08/25 15:58 (modification externe)