sudo apt-get install build-essentail libstdc++2.10-glibc2.2 libstdc++6 libstdc++5 libmotif3 sun-java6-jdk
El paquete libstdc++2.10-glibc2.2 nos dará compatibilidad con las versiones de kernel anteriores. Hasta Ubuntu Dapper había la opción de exportar la variable LD_ASSUME_KERNEL=2.4.1 si queriamos usar un programa compilado con gcc 2.95 pero a partir de Edgy esto ya no funciona, así que muchos programas compilados con gcc 2.95 ya no trabajarán más. En nuestro caso, descargaremos librerías parchadas compiladas con gcc 3.3 por la misma Mathworks y que son dadas como parches.
[root@localhost matlab]# mount -t iso9660 -o loop MathWorks_R14_1.iso /media/iso1
#1: During installation
[root@localhost matlab]# sh /media/MathWorks_R14_1/install
-------------------------------------------------------------------
An error status was returned by the program 'xsetup',
the X Window System version of install'. The following messages were written to standard error:
/tmp/2493tmwinstall/update/bin/glnx86/xsetup: error while loading shared libraries: libXp.so.6: cannot open shared object file: No such file or directory
solution: yum install libXp-devel
Para poder utilizar Simulink en ubuntu Feisty necesitamos descargar libXft-nohint.tar.gz . Después extraemos libXft.so.1.1 en /urs/lib, y seguimos los siguientes pasos:
~$ cd /usr/lib
~$ sudo cp libXft.so libXft.so.backup
~$ sudo cp libXft.so.1 libXft.so.1.backup
~$ sudo rm libXft.so libXft.so.1
~$ sudo ln -s libXft.so.1.1 libXft.so
~$ sudo ln -s libXft.so.1.1 libXft.so.1
#2: Fixing simulink:
Warning: Could not access OpenGL library
solution: yum install libXpm-devel mesa-libGL-devel mesa-libGLU-devel
#3: GCC 3.4 dependencies for simulink
[root@localhost matlab] ldd /usr/local/matlab/bin/glnx86/glren.so
/usr/local/matlab/bin/glnx86/glren.so:
/usr/local/matlab/bin/glnx86/../../sys/os/glnx86/libgcc_s.so.1:
version `GCC_4.2.0' not found (required by /usr/lib/libstdc++.so.6)
/usr/local/matlab/bin/glnx86/glren.so:
/usr/local/matlab/bin/glnx86/../../sys/os/glnx86/libgcc_s.so.1: version `GCC_3.3' not found (required by /usr/lib/libstdc++.so.6)
[...]
Solution:
yum install compat-gcc*
cd /usr/local/matlab/sys/os/glnx86
mv libgcc_s.so.1 libgcc_s.so.1_back
ln -s /lib/libgcc_s.so.1 libgcc_s.so.1
#3: broken symbolic link with simulink Part One:
??? Can't load '/usr/local/matlab/bin/glnx86/libmwsimulink.so': libXft.so.1: cannot open shared object file: No such file or directory
Solution:
[root@localhost matlab]# updatedb && locate libXft.so
/usr/lib/libXft.so
/usr/lib/libXft.so.2
/usr/lib/libXft.so.2.1.2
[root@localhost matlab]# ln -s /usr/lib/libXft.so.2 /usr/lib/libXft.so.1
#4: broken symbolic link with simulink Part Two:
??? Can't load '/usr/local/matlab/bin/glnx86/libmwsimulink.so':
/usr/local/matlab/bin/glnx86/libqt-mt.so.3: undefined symbol: XftFreeTypeOpen
Solution :
# yum install qt
# mv /usr/local/matlab/bin/glnx86/libqt-mt.so.3 /usr/local/matlab/bin/glnx86/libqt-mt.so.3_back
# ln -s /usr/lib/qt-3.3/lib/libqt-mt.so.3 /usr/local/matlab/bin/glnx86/libqt-mt.so.3
Matlab trabajará bien (incluído Simulink), sin embargo, hay el problema que la librería para cálculos simbólicos libmaple.so no aceptará segurirá reclamando que no encuentra GLIBC2.0 y nos dará error si hacemos uso de matemática simbólica en Matlab. El mensaje de error es:
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’: .
Mathworks nos da el parche en su página web:
http://www.mathworks.com/support/solutions/attachment.html?resid=1-32V31N&solution=1-1BDU5
Descarguen el archivo que es libmaple.zip, lo descomprimen y tendrán una libmaple.so no compilada con gcc 2.95 y que trabajará bien en Gutsy.
Sigan estos pasos:
1. Desde terminal ve a donde tienes instalado Matlab 7:
~$ cd /usr/local/matlab7
Entra a bin/glnx86
[install_folder]$ cd bin/glnx86
Haz una copia backup del antiguo libmaple:
$ sudo mv libmaple.so libmaple.so.old
Copia el libmaple.so parchado en esta ubicación:
$ sudo cp /home/[user]/Desktop/libmaple.so ./
Cambia el propietario y grupo de ese archivo:
$chown root:root libmaple.so
Haz que ese archivo sea ejecutable por usuario, grupo y usuarios:
$chmod ugo+x libmaple.so
Una pequeña explicación de chmod es que:
“o” significa owner
“g” significa group
“u” significa users
“+x“significa añade ejecución para este archivo
#5 Sure, there is no .desktop file for gnome/kde menus:
Solution:
# gedit /usr/share/applications/matlab.desktop
[Desktop Entry]
Version=7
Encoding=UTF-8
Name=Matlab_R14
Comment=matlab
Icon=stock_appointment-reminder
Exec=/usr/local/bin/matlab
Terminal=true
Type=Application
Categories=Education;Science;Engineering;
X-Desktop-File-Install-Version=0.10
Gracias a:
http://pintucoperu.wordpress.com/
No hay comentarios:
Publicar un comentario