Matlab 2011 su Ubuntu 11.04

Per chi come me utilizza spesso, per gioia o per costrizione, Matlab si sarà accorto che su Ubuntu 11.04 il suddetto programma stenta un po’ ad ingranare. Innanzitutto, una volta avviato, ci becchiamo questo warning:

/matlab/bin/util/oscheck.sh: 605: /lib/libc.so.6: not found

Il motivo è semplice. Dalla versione 11.04 di Ubuntu (nonché in Debian Sid) c’è in corso una ristrutturazione dei percordi delle librerie di sistema per permettere di installare delle librerie multiarchitettura permettendo, ad esempio, di utilizzare plugin per browser 32bit in sistemi a 64bit senza l’utilizzo di layer aggiuntivi (come ia32-libs).

Questa migrazione ha però sconvolto un gran numero di programmi come CMake per il quale è attualmente quasi impossibile compilare programmi Gtk e, appunto, Matlab.

Matlab infatti cerca la libreria libc.so.6 all’interno dei percorsi standard (/lib e /usr/lib) e non in quello modificato. Per risolvere il problema ci basta fare un link simbolico in questo modo:

sudo ln -s /lib64/x86_64-linux-gnu/libc-2.13.so /lib64/libc.so.6

Per la versione 64bit e

sudo ln -s /lib/i386-linux-gnu/libc-2.13.so /lib/libc.so.6

per la versione 32bit.

Il problema più grave però coinvolge MEX il tool di matlab per la compilazione. In Ubuntu infatti è stato abbandonato il supporto a GCC 4.3 e precedenti, versione per cui è progettato MEX. Se provate a compilare riceverete sfilze di errori caratterizzati da un sonoro:

 version `GLIBCXX_3.4.11' not found

Esiste però un workaround semplice che ci permetterà di utilizzare GCC 4.4 senza problemi.

Per prima cosa installiamo la versione 4.4 dei tools di compilazione:

$ sudo apt-get install gcc-4.4 g++-4.4 gfortran-4.4

Secondo, apriamo il file ~/.matlab/R2011a/mexopts.sh con un editor a piacere e modifichiamo tutte le occorrenze di gcc con gcc-4.4, g++ con g++-4.4 e gfortran con gfortran-4.4.

A questo punto vi basta salvare il file e avviare nuovamente Matlab. Tutto dovrebbe funzionare correttamente.

Thanks to this blog for the info. You saved my day.

11 comments on “Matlab 2011 su Ubuntu 11.04

  1. Ciao, io uso Matlab R2010b, l’errore della libreria “libc.so.6” ce l’avevo e l’ho risolto.
    Come faccio a verificare di essere affetto anche dal secondo problema? Sai per certo che qualunque versione di Matlab ha problemi a MEX se è installata su natty?

    • Puoi provare ad eseguire un modello di simulink che faccia uso del MATLAB Function Block.

      In ogni caso credo che anche la versione 2010 sia affetta da questo problema. Il bug in realtà non è di matlab ma del fatto che le derivate di Debian stanno modificando alcuni percorsi. Il workaround comunque non dovrebbe avere controindicazioni e, per sicurezza puoi farlo.

      • Ciao, poi ho avuto la conferma che il bug colpisce anche la R2010b.
        Ora sto provando a sistemare anche il problema di MEX, ma non trovo il file “.mexopts.sh”, probabilmente perchè non ho mai usato MEX fin’ora. Ho Mint 11 a 64bit.

  2. Ciao , io per fare le esercitazioni di calcolo numerico ho sempre usato Octave e ho notato che il codice è sempre compatibile con Matlab salvo rari casi per cui mi stavo chiedendo che bisogno c’è di Matlab su Linux.

    • Octave è un progetto che conosco e ho utilizzato. 😀 Tuttavia devo ammettere che il divario con Matlab diventa abissale non appena si cerca di alzare il livello. Parliamoci chiaro, non credo ci sia nulla con Matlab che non si possa fare con Octave ma la differenza nel “come” è piuttosto pesante.

      Ad esempio Simulink con i RoboticToolbox che sto usando per alcuni progetti dell’università non ha un corrispettivo su Octave e certo non posso permettermi di re-implementarli da capo con Octave xD

  3. Ciao, dato che mi sto apprestando ad installare matlab per la prima volta su Ubuntu volevo chiedere: è vero che ha una marea di problemi? Perchè ho sentito un ragazzo una volta lamentarsi e alla prof di Bioimmagini si impallava fisso e praticamente non riusciva ad usarlo (anche se avendo 7 partizioni, che dubito che fossero volute e non dovute a reinstallazioni fatte senza troppa competenza, forse non era ne colpa di matlab ne colpa di ubuntu se gli si impallava)

    • No. Stai tranquillo. A parte qualche problema (che nella 2011b è stato risolto) non ho mai avuto problemi con Matlab su Ubuntu. 🙂 Funziona a meraviglia, meglio che su OSX.

      Ho giusto notato qualche bug grafico con Simulink ma credo siano dovuti al fatto che sono tre volte che reinstallo il sistema senza mai reinstallare matlab (miracoli della partizione /home). xD

  4. Pingback: Installing MATLAB on Ubuntu « XiaoNoSekai