Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


devel:compillinux

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Next revisionBoth sides next revision
devel:compillinux [2015/01/20 10:30] – created papeleuxdevel:compillinux [2016/08/20 07:21] boman
Line 2: Line 2:
  
 <note important> <note important>
-Une connaissance de base de Linux et l'utilisation d'une fenetre de commande [[devel/bash|bash]] est indispensable pour la compréhension de la suite.+Une connaissance de base de Linux et l'utilisation d'une fenêtre de commande [[devel/bash|bash]] est indispensable pour la compréhension de la suite.
  
 Il est aussi indispensable d'avoir intégré les concepts de base de [[https://subversion.apache.org/|SVN]] (repository/checkout/update/commit/...).  Il est aussi indispensable d'avoir intégré les concepts de base de [[https://subversion.apache.org/|SVN]] (repository/checkout/update/commit/...). 
Line 10: Line 10:
  
  
-==== Compilation de Metafor sous Linux (by hand) ====+==== Compilation de Metafor sous Linux (à la main) ====
  
 La compilation de Metafor se fait en 3 étapes :  La compilation de Metafor se fait en 3 étapes : 
-  * La récupération des sources +  * la récupération des sources 
-  * La génération des Makefiles +  * la génération des Makefiles 
-  * La compilation proprement-dite+  * la compilation proprement-dite
  
-=== Récupérer les sources Metafor sous Linux ===+=== Récupération des sources Metafor ===
  
-La récupération des souces Metafor sous Linux se fait en ligne de commande:  +La récupération des sources Metafor sous Linux se fait en ligne de commande :  
-  * considérons que l'on se trouve dans un répertoire à partir duquel on dispose de suffisament d'espace (~1Gb) : disons ''~/Dev/Meta'' +  * considérons que l'on se trouve dans un répertoire à partir duquel on dispose de suffisamment d'espace (~1Gb) : disons ''~/Dev/Meta'' 
-  * sachant que  +  * sachant que : 
-    * les répository se trouvent sur ''clifton'' dans le répertoire ~metafor/SVN+    * les répository se trouvent sur ''blueberry'' dans le répertoire ~metafor/SVN
     * ''oo_meta'' : répository des sources Metafor     * ''oo_meta'' : répository des sources Metafor
     * ''oo_nda'' : répository des NDA Metafor      * ''oo_nda'' : répository des NDA Metafor 
Line 28: Line 28:
   * la récupération des sources se fait via les commandes (remplacer userName par votre identifiant)   * la récupération des sources se fait via les commandes (remplacer userName par votre identifiant)
  
-''%%svn co svn+ssh://userName@clifton.ltas.ulg.ac.be/home/metafor/SVN/oo_meta oo_meta%%'' \\ +''%%svn co svn+ssh://userName@blueberry.ltas.ulg.ac.be/home/metafor/SVN/oo_meta/trunk oo_meta%%'' \\ 
-''%%svn co svn+ssh://userName@clifton.ltas.ulg.ac.be/home/metafor/SVN/oo_nda oo_nda%%''+''%%svn co svn+ssh://userName@blueberry.ltas.ulg.ac.be/home/metafor/SVN/oo_nda/trunk oo_nda%%''
  
   * Il en résulte 2 répertoires :   * Il en résulte 2 répertoires :
     * ''~/Dev/Meta/oo_meta''     * ''~/Dev/Meta/oo_meta''
     * ''~/Dev/Meta/oo_nda''     * ''~/Dev/Meta/oo_nda''
 +  * A côté de ces 2 ensembles de sources, il est nécessaire de récupérer les sources de ''linuxbin'' (scripts tels que la batterie de tests) et ''parasolid'' (interface avec la bibliothèque CAO Parasolid). Ces deux modules utilisent le système [[https://git-scm.com/|git]] au lieu de SVN. 
 +
 +  git clone https://github.com/ulgltas/linuxbin.git
 +  git clone userName@blueberry.ltas.ulg.ac.be:/home/metafor/GIT/parasolid.git
 +
  
 === Génération des Makefiles === === Génération des Makefiles ===
-En plus des deux répertoires de sources, il nécessaire de générer un répertoire dans lequel Metafor sera compilé. Nomons le "MetaBin" (son nom importe peu, son positionnement à coté des sources est lui indispensable).+ 
 +En plus des répertoires de sources, il nécessaire de générer un répertoire dans lequel Metafor sera compilé. Nommons-le "MetaBin" (son nom importe peu, son positionnement à coté des sources estluiindispensable).
  
 La génération des Makefiles se fait via [[http://www.cmake.org/|CMake]] dans le répertoire de compilation  La génération des Makefiles se fait via [[http://www.cmake.org/|CMake]] dans le répertoire de compilation 
   * ''~/Dev/Meta/MetaBin''   * ''~/Dev/Meta/MetaBin''
-  * la génération des makefiles se fait via la commande :  +  * la génération des makefiles se fait via la commande:  
-    * ''cmake -C ..\oo_meta\CMake\configMachine.cmake ..\oo_meta'' : pour générer un executable release (defaut) +    * ''cmake -C ../oo_meta/CMake/configMachine.cmake ../oo_meta'' : pour générer un exécutable Release (defaut) 
-    * ''cmake -C ..\oo_meta\CMake\configMachine.cmake  -D CMAKE_BUILD_TYPE=Debug ..\oo_meta'' : pour générer un executable debug +    * ''cmake -C ../oo_meta/CMake/configMachine.cmake  -D CMAKE_BUILD_TYPE=Debug ../oo_meta'' : pour générer un exécutable debug 
-  * où ''configMachine'' est remplacé par le nom de la machine éventuellement d'un choix d'options prédéfinie dans le fichier. Exemple :  +  * où ''configMachine'' est remplacé par le nom de la machine éventuellement d'un choix d'options prédéfini dans le fichier. Exemple:  
-    * ''blueberry.cmake'' : compilation par défaut sur ''blueberry'' (compilateur intel ''icc''+    * ''blueberry.cmake'': compilation par défaut sur ''blueberry'' (compilateur intel ''icc''
-    * ''blueberry-gcc.cmake'' : compilation sur ''blueberry'' avec le compilateur GNU ''gcc'' +    * ''blueberry-gcc.cmake'': compilation sur ''blueberry'' avec le compilateur GNU ''gcc'' 
-    * ''thorgal.cmake'' : compilation par défaut sur ''thorgal'' (''gcc''+    * ''thorgal.cmake'': compilation par défaut sur ''thorgal'' (''gcc''
-    * ''thorgal-icc.cmake'' : compilation par défaut sur ''thorgal'' (''gcc''+    * ''thorgal-icc.cmake'': compilation par défaut sur ''thorgal'' (''gcc''
-    * ''fabulous.cmake'' : configuration par défaut sur ''fabulous'' (''icc''+    * ''fabulous.cmake'': configuration par défaut sur ''fabulous'' (''icc''
-    * ''fabulous-gcc.cmake'' : configuration sur ''fabulous'' avec le compilateur GNU (''gcc'')+    * ''fabulous-gcc.cmake'': configuration sur ''fabulous'' avec le compilateur GNU (''gcc'')
     * ...      * ... 
   * Le nom seul de la machine donnant la configuration par défaut (utilisée par la batterie de test).   * Le nom seul de la machine donnant la configuration par défaut (utilisée par la batterie de test).
Line 56: Line 62:
 === Compilation === === Compilation ===
  
-La compilation se fait à partir du répertoire de génération +La compilation se fait à partir du répertoire de génération :
   * dans notre exemple : ''~/Dev/Meta/MetaBin''   * dans notre exemple : ''~/Dev/Meta/MetaBin''
-  * via la commande : +  * via la commande: 
-    * ''make'' : pour une compilation sur 1 coeur +    * ''make'': pour une compilation sur 1 coeur 
-    * ''make -j n'' : pour une compilation sur n coeurs +    * ''make -j n'': pour une compilation sur n coeurs 
  
  
  
devel/compillinux.txt · Last modified: 2019/03/23 07:14 by boman

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki