<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://www.transcyberien.net/feed/rss2/xslt" ?><rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
  <title>Transcyberien - matlab</title>
  <link>http://www.transcyberien.net/</link>
  <description>Blog qui parle de Linux en général et Gentoo en particulier... avec un peu de musique et de photographie aussi...</description>
  <language>fr</language>
  <pubDate>Thu, 17 Jun 2010 14:34:46 +0200</pubDate>
  <copyright></copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Matlab sous linux</title>
    <link>http://www.transcyberien.net/post/2007/01/03/Matlab-sous-linux</link>
    <guid isPermaLink="false">urn:md5:65646fbd678d9cf7f7db73cb2f379271</guid>
    <pubDate>Mon, 08 Jan 2007 17:20:00 +0100</pubDate>
    <dc:creator>Jérôme</dc:creator>
        <category>informatique</category>
        <category>java</category><category>linux</category><category>logiciel</category><category>matlab</category><category>windows</category><category>wine</category>    
    <description>&lt;p&gt;Je ne vais pas décrire l'installation d'une version Linux mais l'émulation d'une version Windows (ici la 7.1) grâce à &lt;a href=&quot;http://www.winehq.com/&quot;&gt;Wine&lt;/a&gt;. En fait, ce n'est pas vraiment une émulation, Wine implémente l’&lt;a href=&quot;http://fr.wikipedia.org/wiki/Interface_de_programmation&quot;&gt;API&lt;/a&gt; Windows par-dessus X et Unix. Je testerai peut-être plus tard un véritable émulateur comme &lt;a href=&quot;http://fabrice.bellard.free.fr/qemu/&quot;&gt;Qemu&lt;/a&gt; par exemple. C'est plutôt pratique lorsqu'on a qu'une licence pour cette version, qu'on ne veut pas en acheter une autre et qu'on utilise &lt;a href=&quot;http://www.mathworks.com/products/matlab/&quot;&gt;Matlab&lt;/a&gt; de façon régulière notamment avec Simulink. J'utilise également octave qui offre une bonne compatibilité mais qui ne permet pas de profiter des outils graphiques tels que Simulink ou encore la fenêtre de graphes qui permet pas mal de mise en forme. Il existe aussi &lt;a href=&quot;http://www.scilab.org/&quot;&gt;Scilab&lt;/a&gt; développé par l'&lt;a href=&quot;http://www.inria.fr/&quot;&gt;INRIA&lt;/a&gt; mais que je n'ai jamais utilisé. Il me semble qu'il est moins compatible qu'&lt;a href=&quot;http://www.gnu.org/software/octave/&quot;&gt;octave&lt;/a&gt; mais qu'il est quelquefois utilisé dans l'industrie.&lt;/p&gt;
&lt;p&gt;Bref, voyons voir comment faire tourner cela.&lt;/p&gt;    &lt;p&gt;Il faut d'abord installer Wine. Pour cela, utilisez votre gestionnaire de paquet préféré (portage, apt-get, etc.) ou compilez vous-mêmes les sources. Je n'explique rien ici, je pense qu'il n'y aura pas de problème.&lt;br /&gt; Il faut ensuite que la partition Windows qui contient le programme Matlab soit accessible en lecture (pour moi ce sera /mnt/win).&lt;/p&gt;
&lt;p&gt;Normalement, si on essaie de lancer Matlab avec la commande suivante (le chemin de l'exécutable peut être différent évidemment) :
&lt;/p&gt;
&lt;code class=&quot;bash&quot;&gt;$ wine /mnt/win/Program\ Files/Matlab/bin/win32/MATLAB.exe &amp;amp;&lt;/code&gt;
&lt;p&gt;On obtient comme erreur :&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;License Manager Error -9.&lt;br /&gt;MATLAB is not licensed on this host.&lt;br /&gt;This error may be caused by a hard-drive modification.&lt;br /&gt;Please reinstall MATLAB.&lt;br /&gt;For more information, see The MathWorks Support page at&lt;br /&gt;http://www.mathworks.com/support and search for&lt;br /&gt;&amp;quot;license manager error -9&amp;quot;
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Cela veut simplement dire que le contrôle de la licence de Matlab n'est pas bon. Celui-ci est effectué par rapport au numéro de série du disque dur sur lequel le logiciel est installé. Il faut donc préciser à Wine ce numéro de série. On le récupère avec la commande suivante :
&lt;/p&gt;
&lt;code class=&quot;bash&quot;&gt;$ &lt;span style=&quot;color: #000066;&quot;&gt;cat&lt;/span&gt; /mnt/win/Program\ Files/Matlab/bin/win32/license.dat| &lt;span style=&quot;color: #000066;&quot;&gt;grep&lt;/span&gt; DISK_SERIAL_NUM | head -n &lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;&lt;/code&gt;
&lt;p&gt;Ensuite on lance l'utilitaire de configuration de Wine.&lt;/p&gt;
&lt;code class=&quot;bash&quot;&gt;$ winecfg &amp;amp;&lt;/code&gt;
&lt;p&gt;Dans l'onglet &lt;em&gt;Lecteurs&lt;/em&gt;, on sélectionne &lt;em&gt;C:&lt;/em&gt; et on clique sur &lt;em&gt;Montrer avancés&lt;/em&gt;. On choisit &lt;em&gt;Assigner manuellement&lt;/em&gt; et on inscrit le numéro récupéré précédemment dans &lt;em&gt;N° de série&lt;/em&gt;. Il peut peut-être y avoir des variantes en fonction de la version de Wine (0.9.22 pour la mienne) mais le principe doit rester le même.&lt;/p&gt;
&lt;p&gt;Si on essaie de relancer Matlab avec Wine, on va voir apparaître un semblant de &lt;abbr title=&quot;Graphic User Interface&quot;&gt;GUI&lt;/abbr&gt; mais qui a du mal s'afficher et dont le rafraîchissement ne va pas du tout. Le problème vient en fait des runtimes &lt;a href=&quot;http://fr.wikipedia.org/wiki/Java_%28technologie%29&quot;&gt;Java&lt;/a&gt; livrés avec Matlab qui servent à unifier l'ensemble des différentes fenêtres (commande, espace de travail, historique, etc.) et afficher la barre de menu principale et qui réagissent mal avec Wine.&lt;br /&gt;
Une première solution est de faire tourner Matlab sans Java, on a alors une fenêtre principale pour les calculs mais pas de menu ni de bouton... Pour cela, il faut taper :
&lt;/p&gt;
&lt;code class=&quot;bash&quot;&gt;$ wine /mnt/win/Program\ Files/Matlab/bin/win32/MATLAB.exe -nojvm &amp;amp;&lt;/code&gt;
&lt;p&gt;Mais il faut bien avouer que ce n'est pas vraiment pratique. La solution est de remplacer les runtimes Java utilisés par Matlab par ceux officiels. Pas le choix, il faut rebooter sous Windows puis télécharger le &lt;abbr title=&quot;Java Runtime Environment&quot;&gt;JRE&lt;/abbr&gt; (pas besoin du &lt;abbr title=&quot;Java Development Kit&quot;&gt;JDK&lt;/abbr&gt;) sur &lt;a href=&quot;http://java.sun.com/javase/downloads/index.jsp&quot;&gt;le site de Sun&lt;/a&gt;. Ces runtimes sont passés en version 1.6 récemment, &lt;del&gt;je pense qu'il n'y a pas de souci mais je n'ai testé qu'avec la version 1.5&lt;/del&gt; ; donc s'il y a un problème essayez avec la version précédente, il se peut que ce soit cela. En effet, avec la version 1.6, cela génère des exceptions. Il faut donc récupérer la version 1.5 des runtimes de chez Sun à &lt;a href=&quot;http://java.sun.com/javase/downloads/index_jdk5.jsp&quot;&gt;cet endroit&lt;/a&gt;.&lt;br /&gt;Ensuite on sauvegarde le dossier jre1.5.0 situé dans le répertoire &lt;em&gt;C:\Program files\Matlab\sys\java\jre&lt;/em&gt; (en l'archivant, par exemple). Puis on copie le dossier &lt;em&gt;C:\Program Files\Java\jre1.5.0&lt;/em&gt; (ou quelque chose d'approchant) dans le répertoire précédent. Ensuite, on édite le fichier &lt;em&gt;jre.cfg&lt;/em&gt; en y inscrivant la &lt;del&gt;bonne&lt;/del&gt; version de Java (&lt;strong&gt;1.5.0&lt;/strong&gt; &lt;del&gt;ou &lt;strong&gt;1.6.0&lt;/strong&gt;&lt;/del&gt;). Pour être sûr que ça marche, lancer Matlab ; si tout est ok, on peut repasser sous Linux, sinon vérifiez que vous avez bien tout fait correctement ou replacez l'ancien dossier.&lt;/p&gt;
&lt;p&gt;De retour sous Linux, on peut mettre en place un petit script. Créez un fichier &lt;em&gt;matlab&lt;/em&gt; dans &lt;em&gt;/usr/local/bin&lt;/em&gt; puis inscrivez-y le code suivant :&lt;/p&gt;
&lt;code class=&quot;bash&quot;&gt;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;#! /bin/sh&lt;/span&gt;&lt;br /&gt;
wine /mnt/win/Program\ Files/Matlab/bin/win32/MATLAB.exe &amp;amp;&lt;/code&gt;
&lt;p&gt;Rendez ce script exécutable en tapant &lt;/p&gt;
&lt;code class=&quot;bash&quot;&gt;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;# chmod +x matlab &lt;/span&gt;&lt;/code&gt;
&lt;p&gt;Il ne reste plus qu'à taper &lt;/p&gt;
&lt;code class=&quot;bash&quot;&gt;matlab&lt;/code&gt; dans votre shell et à vous de jouer.</description>
    
    
    
          <comments>http://www.transcyberien.net/post/2007/01/03/Matlab-sous-linux#comment-form</comments>
      <wfw:comment>http://www.transcyberien.net/post/2007/01/03/Matlab-sous-linux#comment-form</wfw:comment>
      <wfw:commentRss>http://www.transcyberien.net/feed/rss2/comments/25</wfw:commentRss>
      </item>
    
</channel>
</rss>