Matlab Symbolic Toolbox sotto Linux - Come sistemare la GLIBC_2.0
Ovviamente stiamo parlando del computer del mio vicino, che guarda caso usa Kubuntu con Kernel 2.6 e ha Matlab con la licenza e ogni tanto me lo fa usare per l'univertità! :-)
Bene, ieri mi sono trovato ad avere assoluto bisogno del Symbolic Toolbox per fare un'operazione, sapevo già che non andava ma ho provato lo stesso... e Matlab come le volte precenti mi ha risposto picche così:
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': .
Error in ==> maple at 104
[result,status] = maplemex(statement);
Error in ==> sym.maple at 85
[result,status] = maple(statement);
Error in ==> sym.plus at 22
X = maple(A(:),'+',B(:));
you@Kubuntu$ export LD_ASSUME_KERNEL=2.4.1
In questo modo il Symbolic Toolbox funziona completamente, nel senso che se prima era possibile solo definire variabili simboliche ma non usarle a causa dell'errore sopra citato, ora la funzionalità è completa.
Da quanto ho usato questo trucchetto non ho riscontrato ulteriori problemi del genere.
Per facilitare l'avvio senza dover ogni volta ricordarmi questo comando ho modificato il profilo della shell di bash creando un alias nel file .bashrc nella cartella home in questo modo:
# Alias 4 Matlab
alias matlab-start='export LD_ASSUME_KERNEL=2.4.1; matlab -nosplash'
Grazie all'alias ogni volta che scrivo "matlab-start" la shell esegue in realtà i due comandi tra le virgolette. Notate che Matlab è chiamato con l'opzione "nosplash" che inibisce la finestrella con il simbolo di Matlab all'avvio, questo velocizza un po' lo startup dell'applicazione ma se volete ri-abilitarlo basta che togliete l'opzione quando create l'alias in .bashrc
E' tutto, spero di essere stato abbastanza chiaro, se avete problemi commentate e vedremo!
Buon lavoro con il Symbolic Toolbox di Matlab!