Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


commit:2010:12_01

Differences

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

Link to this comparison view

Next revision
Previous revision
commit:2010:12_01 [2010/12/01 10:21] – created bomancommit:2010:12_01 [2016/03/30 15:23] (current) – external edit 127.0.0.1
Line 1: Line 1:
 +====== Commit 2010-12-01 ======
 +
 +===== Portage Mac OS X =====
 +
 +==== ...mais pourquoi? ====
 +
 +{{  :commit:2010:metaforonmacosx.jpg|C'est ça un Mac (et une aspiratrice FNRS)}}
 +
 +Grâce à Damien Watrin qui démarre un projet FNRS sur le couplage fluide structure, le source Metafor est compilable sous Mac OS X. Le code a dû être légèrement modifié à deux endroits:
 +  * L'instanciation de templates dans des fichiers d'entête de ''mtShapeFunctions'' ne posaient pas de problème sous les autres plateformes. C'est évidemment quelque chose qui faut éviter puisque cela aurait dû conduire à du code "multiply defined" au link. Les instanciations problématiques ont été déplacées dans les fichiers ".cpp" adéquats.
 +  * La lecture (type [[wp>POSIX]]) de l'adresse [[wp>MAC_address|MAC]] ne fonctionnait pas sous Mac (ahaha, elle est bonne!). J'ai dû réécrire un code adapté au Mac (système [[wp>BSD]]).
 +
 +Deux configs cmake ont été créées:
 +  * ''CMake/cocoa.cmake'': compilation en ligne de commande (Makefiles)
 +  * ''CMake/cocoaX.cmake'': génération du projet [[http://developer.apple.com/technologies/tools/xcode.html|XCode]]
 +
 +Si j'ai bien compris, [[wp>Cocoa_(API)|Cocoa]] désigne une sorte de .NET version Mac, c'est à dire un framework permettant d'accéder au réseau, au multimédia, etc.
 +
 +==== Préparation du système ====
 +
 +  - Télécharger/installer MKL MACOSX: 
 +      * dispo dans "Intel C++ composer XE" (anciennement "Intel C++ compiler prof edition")
 +  - Télécharger/installer Qt:
 +      * [[http://qt.nokia.com/downloads/qt-for-open-source-cpp-development-on-mac-os-x|Qt framework]] suffit 
 +  - Télécharger/installer [[http://www.cmake.org/files/v2.8/cmake-2.8.3-Darwin-universal.dmg|CMake précompilé]] 
 +  - [python (2.6.1) est deja installé]
 +  - Télécharger sources VTK
 +      * dézipper dans /Developer/VTK
 +      * mouliner les sources VTK => /Developer/VTKB
 +      * activer les options classiques (ne pas oublier GUISUPPORT et GL2PS)
 +      * ''make -j 4''
 +      * ''sudo make install'' => installe dans ''/usr/local/lib'' et ''/usr/local/include'' 
 +  - Télécharger les sources SWIG (une vieille version de swig (1.3.31) est deja installée)
 +     * dezipper dans ''/Developer''
 +     * SWIG requiert "PCRE - Perl Compatible Regular Expressions"
 +         * télécharger le [[http://www.pcre.org/|src de PCRE]]
 +         * compiler/installer PCRE (''configure''/''make''/''make install'')
 +     * compiler/installer SWIG (configure/make/make install) => !! ''/usr/local/bin/swig''
 +  - Configurer ''dyld'' (équivaut à ''ldd'' sous linux):
 +     * dans ''~/.profile'':
 +         * ''DYLD_LIBRARY_PATH=/usr/local/lib/vtk-5.6/:/opt/intel/mkl/lib''
 +
 +==== Compilation Metafor proprement dite ====
 +
 +  - [svn/ssh sont deja installés]
 +  - faire un co du source Metafor.
 +  - créer répertoire ''oo_metaB'' a coté de ''oo_meta''
 +  - dans ''oo_metaB'': ''cmake -C ../oo_meta/CMake/cocoa.cmake ../oo_meta''
 +
 +==== Ca donne quoi? ====
 +
 +En gros ça marche plutôt bien. Au niveau perfs, le ''tube'' (voir image ci-dessous) a même tourné plus vite que sur mon PC. A mon avis, vu le système de type "Linux" en dessous de la couche graphique, on peut s'attendre à des perfs similaires à celles qu'on a sous Linux (c'est-à-dire meilleure que sous windows).
 +
 +Le projet "Xcode" semble OK. Il inclut une interface pour SVN qui a l'air de fonctionner correctement (c'est pas aussi clair que TortoiseSVN mais c'est utilisable).
 +
 +==== Qq perspectives ====
 +
 +  * Idéalement il serait intéressant de passer une batterie. C'est difficile aujourd'hui vu que certains trucs n'ont pas été compilés (numpy, interface python/vtk/triangle/tetgen/gmsh). De plus, je ne sais pas si une version de Samcef existe sous mac.
 +  * On pourrait également envisager à terme de créer un installeur si certains étudiants veulent travailler sous Mac dans le futur.
 +  * Compilation de ''oo_nda'': je n'ai pas fait vu que Damien n'en a pas besoin a court terme.
 +  * Utilisation du compilateur Intel (actuellement ''gcc''), peut-être plus rapide.
 +  * Utilisation des MKL version multi-threads (actuellement séquentiel).
 +  * gestion correcte du ''${OutDir}'' sous Xcode (actuellement ''cocoaX.cmake'' produit un projet "Release" uniquement).
 +
 +
 +{{:commit:2010:capturemacosx-small.jpg|Metafor sous Mac OS X}}
 +
 +
 + --- //[[romain.boman@gmail.com|Romain BOMAN]] 2010/12/01 10:08//
  

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki