Matlab, come posso installarlo su Linux?
Preambolo
Prima o poi nella vita di un “aspirante ingegnere”, PURTROPPO occorrerà utilizzare Matlab... questo fatto, oltre al pochissimo tempo libero, ha fatto in modo che molte persone, fra cui alcuni miei conoscenti, non abbiano avuto modo di fare il GRANDE salto e passare a LINUX.
|
E' da poco uscito Matlab 7.4 ( R2007a), è molto più semplice da installare bisogna eseguire solo lo script di installazione ( install_matlab ) e il gioco è fatto. Personalmente l'ho provato, è vero, è più semplice da installare ma è anche vero che risulta essere estremamente PESANTE. ( Se il vostro pc ha poca ram e non è molto potente lasciate perdere è INUTILIZZABILE!!!) |
In questo articolo vengono presentate in dettaglio le procedure da seguire per riuscire ad installare matlab su le seguenti distribuzioni:
Appunto per cercare di aiutare tutti coloro che hanno intenzione di effetture questo "salto" ho deciso di illustrare l'esperienza accumulata sul campo nell'installare questo benedetto software su differenti distribuzioni.
|
Se volete lasciare commenti, descrivere la propria esperienza, oppure richiedere un'ulteriore aiuto, registratevi al nostro forum. Tenteremo, nel limite delle nostre possibiltà, di darvi una mano. Lista dei principali bug risolti:
Grazie per l'attenzione e buona lettura!!! |
A mio avviso i migliori risultati sono stati ottenuti sotto Fedora core 5, mentre con le distribuzioni debian based ( da parte mia ho provato Debian Etch ) ho rilevato alcuni piccoli difettucci che non sto qui a menzionare.
| Le prove di installazione sono state effettuate su un notebook acer TravelMate 250, pentium 4 2.8Ghz e 256MB di ram e la versione di Matlab utilizzata è la: Matlab 7 R14 |
FEDORA CORE 6
Finalmente, lo sò che è tardi, sono riuscito ad installare la mia R14 anche su fedora core 6. Come prima cosa ricordatevi di installare java seguendo la procedura illustrata sul nostro sito. Fatto ciò non ci resta che iniziare:
-
Per prima cosa bisognerà creare una directory all'interno del nostro sistema /usr/local/matlab7 (entrando in modalità super-utente):
$ su -all'interno di questa directory bisognerà copiarci il file license.dat ( il file che vi viene fornito con l'acquisto della licenza);
Parola d'ordine: <hidden password>
# mkdir /usr/local/matlab7 -
Prima di far eseguire lo script install ( ricordatevi di effettuare questa operazione da super utente ), presente nel primo cd-rom ricordatevi di disabilitare SELinux.
Per disabilitare e abilitare SELinux basterà eseguire in successione i seguenti comandi :
disabilita SELinux: setenforce 0
abilitare SELinux: setenforce 1N.B. Al termine dell'installazione SELinux può essere riattivato.
-
Una volta disabilitato SELinux si può procedere tranquillamente con l'installazione dei tre cd-rom in nostro possesso.
Inserite il primo cd-rom ed avviate lo scipt install.
-
Arrivati a questo punto non ci resta che avviare lo script install_matlab presente all'interno della directory matlab7, quella dove voi avete deciso di installare matlab, nel mio caso ( e di tutti coloro che hanno seguito questa piccola guida ):
# /usr/local/matlab7/install_matlabavviando questo script da super utente e rispondendo alle varie domande lo script sistemerà quasi tutto.... ( lo devo ammettere io ho risposto a tutto Yes....senza troppi complimenti )
-
In caso all'avvio di matlab si riceva un warning che indichi che il programma in questione non ha accesso alle openGL bisognerà digitare da terminale i seguenti comandi:
# cd ${MATLAB_ROOT}/sys/os/glnx86
# mv libgcc_s.so.1 libgcc_s.so.1_orig
# ln -sf /lib/libgcc_s.so.1 ./
-
Simulink con fedora core 6 mi ha dato qualche problema, se al primo avvio vi darà un'errore del genere ( è all'inizio della lista di errori che vi si presenterà di fronte ):
??? Can't load '/usr/local/matlab/bin/glnx86/libmwsimulink.so': libXft.so.1: cannot open shared object file: No such file or directory undefined symbol: FcPatternInsertEltAprite una finestra del terminale, entrate come super-utente ( su - ), e digitate i seguenti comandi:
# updatedb && locate libXft.soRiavviando matlab e rieseguendo Simulink questa volta vi dovrebbe dare il seguente errore:
/usr/lib/libXft.so
/usr/lib/libXft.so.1.1
/usr/lib/libXft.so.2
/usr/lib/libXft.so.2.1.2
# ln -s /usr/lib/libXft.so.2 /usr/lib/libXft.so.1
??? Can't load '/usr/local/matlab/bin/glnx86/libmwsimulink.so': /usr/local/matlab/bin/glnx86/libqt-mt.so.3: undefined symbol: XftFreeTypeOpenPer risolvere anche questo problema digitate i seguenti comandi
# yum install qt
(solo se ancora non sono state installate sul proprio sistema )
# mv /usr/local/matlab7/bin/glnx86/libqt-mt.so.3 /usr/local/matlab7/bin/glnx86/libqt-mt.so.3_backup
( in maniera da preservare la copia originale )
# ln -s /usr/lib/qt-3.3/lib/libqt-mt.so.3 /usr/local/matlab7/bin/glnx86/libqt-mt.so.3
-
Se Matlab si chiude improvvisamente quando provate ad interagire con i grafici che avete generato, e compareun errore legato a questa libreria: libmwm_ir.so.
Allora provate a seguire la procedura descritta qui, dovrebbe fare a caso vostro!!!.
|
LIBMAPLE.SO Avviate matlab ed eseguite questi due comandi:
syms x
quasi certamente riceverete quest'errore:taylor(exp(-x))
Unable to load mex file: /usr/local/matlab7/toolbox/symbolic/maplemex.mexglx.
/usr/local/matlab7/bin/glnx86/libmaple.so: symbol errno, version GLIBC_2.0 not defined in file libc.so.6 with link time reference
??? Invalid MEX-file '/usr/local/matlab7/toolbox/symbolic/maplemex.mexglx': .
La soluzione è disponibile sul sito della mathworks.
1-x+1/2*x^2-1/6*x^3+1/24*x^4-1/120*x^5 |
FEDORA CORE 5
L'installazione in se è molto semplice basta seguire i seguenti accorgimenti:
Prima di tutto bisogna aver installato sulla propria macchina java sun seguendo la procedura illustrata sul nostro sito.
Una volta finita l'installazione di Java si può procedere con l'installazione del nostro ben amato matlab:
-
Per prima cosa bisognerà creare una directory all'interno del nostro sistema /usr/local/matlab7 (entrando in modalità super-utente):
$ su -all'interno di questa directory bisognerà copiarci il file license.dat ( il file che vi viene fornito con l'acquisto della licenza);
Parola d'ordine: <hidden password>
# mkdir /usr/local/matlab7 -
Prima di far eseguire lo script install ( ricordatevi di effettuare questa operazione da super utente ), presente nel primo cd-rom ricordatevi di disabilitare SELinux.
Per disabilitare e abilitare SELinux basterà eseguire in successione i seguenti comandi :
disabilita SELinux: setenforce 0
abilitare SELinux: setenforce 1N.B. Al termine dell'installazione SELinux può essere riattivato.
-
Una volta disabilitato SELinux si può procedere tranquillamente con l'installazione dei tre cd-rom in nostro possesso.
Inserite il primo cd-rom ed avviate lo scipt install.

Fate molta attenzione a non saltare nessun cd-rom. Ancora oggi, ogni volta che installo Matlab, non riesco a capire l'utilità del tasto Skip presente all'interno della finestra di installazione.
Quindi, quando il sistema vi avvertirà di effettuare il campio di cd, smontate il cd-rom presente nel vostro lettore e montate quello nuovo.
- Alla fine dell'installazione copiate il file license.lic nella directory /usr/local/matlab7/etc
-
Ricordate di dare al nostro utente i “diritti” di accesso al file license.lic:
# chown giuseppe /usr/local/matlab7/etc/license.lic
-
Arrivati a questo punto non ci resta che avviare lo script install_matlab presente all'interno della directory matlab7, quella dove voi avete deciso di installare matlab, nel mio caso ( e di tutti coloro che hanno seguito questa piccola guida ):
# /usr/local/matlab7/install_matlabavviando questo script da super utente e rispondendo alle varie domande lo script sistemerà quasi tutto.... ( lo devo ammettere io ho risposto a tutto Yes....senza troppi complimenti )
-
Dopo tutto questo al primo avvio di matlab non si riesce ad avviare simulink, ricevendo un errore simile a questo:
??? Can't load '/usr/local/matlab/bin/glnx86/libmwsimulink.so':
/usr/lib/libXft.so.1Per risolvere questo problema, procuratevi il seguente pacchetto: xorg-x11-libs-6.8.2-37.FC4.49.2.1.i386.rpm
Non vi resta che scompattate il pacchetto (tasto destro del mouse ->estrai), entrare nella directory del file appena scompattato e recarvi nella sottodirectory /usr/X11R6/lib e cercate il file libXft.so.1.1.
Copiate questa libreria all'interno della directory /usr/lib/ presente nel vostro sistema e create il seguente link simbolico:
# ln -s /usr/lib/libXft.so.1.1 /usr/lib/libXft.so.1 -
Un altro problema che sarete chiamati a risolvere riguarda le opengl. Per risolvere questo problema occorre, prima di tutto, creare un'apposita cartella, ad esempio:
# mkdir /usr/local/matlab-supportAll'interno di questa directory bisognerà lincarvi i due file presenti nella sottodirectory qui riportata (ricoradati che il percorso /usr/local/matlab7/ rappresenta il TUO percorso di installazione):
# cd /usr/local/matlab7/sys/opengl/lib/glnx86
# ln -s libGL.so /usr/local/matlab-support/.
# ln -s libGLU.so /usr/local/matlab-support/.
-
Per facilitare l'avvio di Matlab vi consiglio di realizzare sul desktop un file di testo ( ad esempio usando gedit o kate) e all'interno copiateci questo script:
#! /bin/sh
#
# Script di avvio di Matlab
LD_LIBRARY_PATH=/usr/local/matlab-support/:$LD_LIBRARY_PATH /usr/local/matlab7/bin/matlab -desktop
Fornite i permessi di esecuzione a questo script :
# chmod +x /.......( nome e percorso dello script creato )...
E' ovvio che non è obbligatorio realizzare lo script basta copiare in una finestra del terminale la seguente riga e premere "invio":
LD_LIBRARY_PATH=/usr/local/matlab-support/:$LD_LIBRARY_PATH /usr/local/matlab7/bin/matlab -desktop
Vi posso tranquillamente comunicare che avviando lo script scritto in precedenza ( punto 9 ) dovreste essere in grado di utilizzare matlab senza problemi...
In caso di problemi ( spero che non ne abbiate perchè sarà molto difficile darvi una mano... specie con questi programmi precompilati è un "casino", ci sono troppe variabili in gioco ), o in caso vogliate rilasciare un parere, un appunto per sviluppare questa sezione, non esitate e contattatemi via email o tramite il forum...
FEDORA CORE 4
Fino al punto 5 installare matlab su Fedora 4 e Fedora 5 è identico, compresa l'installazione di java che deve essere presente e ben funzionante. In fedora core 4 per far funzionare il tutto effettuate le seguenti operazioni ( comandi trovati sul sito di matworks...in funzione degli errori riscontrati durante le prime settimane di utilizzo ):
-
In caso all'avvio di matlab si riceva un warning che indichi che il programma in questione non ha accesso alle openGL bisogna digitare da terminale i seguenti comandi:
# cd ${MATLAB_ROOT}/sys/os/glnx86
# mv libgcc_s.so.1 libgcc_s.so.1_orig
# ln -sf /lib/libgcc_s.so.1 ./
-
Per consentire a matlab di funzionare correttamente, prima di eseguire il programma ( basta una volta per sessione ) ricordati di disabilitare SELinux (setenforce 0, come visto al punto 2 riguardante Fedora 5) e digitare, rigorosamente da utente "normale", le seguenti istruzioni:
$ export LD_ASSUME_KERNEL=2.4.1
oppure:
$ matlab
$ LD_ASSUME_KERNEL=2.4.1 matlab
|
VALIDO PER FEDORA 4,FEDORA 5 e FEDORA 6
Configuration:
Register State:
Stack Trace:
|
Procedura di installazione Debian Etch/Ubuntu:
Accertatevi di aver installato java, digitate su un terminale "java -version", se non risulta essere installato seguite le istruzioni presenti sul nostro sito per procedere all'installazione di Sun Java.
-
Create la directory dove verrà installato Matlab:
# mkdir /usr/local/matlab7
e, al suo interno copiateci il file fornito con la licenza acquistata ( lincense.dat ).
-
Lo script install presente sul primo cd-rom non può essere avviato così com'è ma dovrà essere modificato opportunamente visto che in Debian come in molte distribuzioni debian based ( vedi ubuntu ) libc6 non è eseguibile. Prima di modificare lo script dobbiamo creare una cartella nella nostra home e copiarci al suo interno tutto il contenuto del primo cd-rom in modo da poter editare lo script in question..
Editiamo lo script install sostituendo la seguente riga:
ver=`/lib/libc.so.6 | head -1 | sed -e "s/^[^0-9]*//" -e "s/[ ,].*$//"`conver=`objdump -x /lib/libc.so.6|egrep " GLIBC_"|tail -1|awk -F_ '{print $2}'`Fate molta attenzione che tra egrep” e GLIBC ci sia un solo un TAB. In caso durante l'avvio dello script o di matlab si riscontrino degli strani errori ricontrollate che ci sia un solo TAB.
-
Aprite un "terminale" e verificate che objdump sia un comando riconosciuto, in caso questo comando non venga trovato bisognerà installare il pacchetto binutils:
# apt-get install binutils
Probabilmente il vostro utente è quello che detiene il server X, per concedere a tutti glli altri utenti ( root compreso ) di accedere al server X digitate:
$ xhost +accediamo ad una nuova console, e acquisite i privilegi di superutente ( su - etc... ), e, per avviare l'installazione:
# export DISPLAY=:0.0
N.B. un'alternativa potrebbe essere quella di avviare, dalla barra delle "Applicazioni", un "Terminale di root".
-
Avviate l'installazione eseguendo da root lo script "install" precedentemente modificato:
# /...directory_temporanea.../install
-
Finita l'installazione del primo cd-rom, quello copiato sull'HD, potete proseguire installazione direttamente da cd-rom.
-
Per permettere che Matlab venga eseguito correttamente dobbiamo editare lo script oscheck:
# cd /usr/local/matlab7/bin/util/e sostituite la riga seguente:
# vi oscheck.sh
ver=`/lib/libc.so.6 | head -1 | sed -e "s/^[^0-9]*//" -e "s/[ ,].*$//"`con
ver=`objdump -x /lib/libc.so.6|egrep" GLIBC_"|tail -1|awk -F_ '{print $2}'`ricordati ancora una volta che tra egrep” e GLIBC ci sia un solo TAB.
-
Alla fine dell'installazione copiate il file license.lic nella directory /usr/local/matlab7/etc
-
Ricordate di dare al nostro utente i “diritti” di accesso al file license.lic:
# chown giuseppe /usr/local/matlab7/etc/license.lic
-
Per completare l'installazione modificate anche lo script /usr/local/matlab7/install_matlab sostituendo sempre la medesima riga:
ver=`/lib/libc.so.6 | head -1 | sed -e "s/^[^0-9]*//" -e "s/[ ,].*$//"`con
ver=`objdump -x /lib/libc.so.6|egrep" GLIBC_"|tail -1|awk -F_ '{print $2}'`ricordando ancora che tra egrep” e GLIBCci sia un solo TAB.
-
Avviate lo script appena modificato:
# /usr/local/matlab7/install_matlab -
In caso all'avvio di matlab si riceva un warning che indichi che il programma in questione non ha accesso alle openGL bisogna digitare da terminale i seguenti comandi:
# cd ${MATLAB_ROOT}/sys/os/glnx86
# mv libgcc_s.so.1 libgcc_s.so.1_orig
# ln -sf /lib/libgcc_s.so.1 ./
-
Se si desidera avviare matlab per mezzo di un'icona d'avvio:
setsid /usr/local/matlab7/bin/matlab -desktopN.B. Le immagini da utilizzare come icone sono presenti nella sottodirectory: /usr/local/matlab7/X11/icons
Con questo ho esaurito tutto ciò che avevo da dire riguardo l'installazione di Matlab su Linux, sperando che tutto ciò sia servito a convincere quelle persone che volevano passare a linux ma Matlab le aveva fermate.....

