Instal·lar Matlab en Scientific Linux 4.4

Sempre és recomanable fer instal·lacions "mínimes" per als servidors. Això redueix la probabilitat de que una actualització trenqui res, perquè tenim menys coses per trencar. Simple, oi?

Però tot té un preu, i una de les ocasions en què el pagues és quan tens un programa que no està empaquetat, i que per tant no fa una gestió "decent" de les dependències, i aquest programa assumeix que hauràs instal·lat el sistema operatiu amb "full equipment".

Un exemple: l'instal·lador de Matlab. Concretament, l'instal·lem en una maquineta de 64 bits que duu la distro "Scientific Linux" (recompilació dels paquets de RedHat).

# /var/tmp/matlab/cd1/install
/tmp/9835tmwinstall/update/install/abort.sh: 
  line 15: /tmp/9835tmwinstall/update/install/cleanup.sh: 
  No such file or directory

Ja podem esmolar les eines. Fem una ullada a l'script, que no presenta cap pega, i acabem veient que peta en executar un arxiu anomenat xsetup.

ldd ens dirà a quines llibreries dinàmiques està linkat aquest executable.

# ldd /var/tmp/matlab/cd1/update/bin/glnxa64/xsetup
    libXt.so.6 => /usr/X11R6/lib64/libXt.so.6 (0x0000002a95561000)
    libX11.so.6 => /usr/X11R6/lib64/libX11.so.6 (0x0000003764c00000)
    libXext.so.6 => /usr/X11R6/lib64/libXext.so.6 (0x0000003765800000)
    libXp.so.6 => not found
    libmwins.so => not found
    libc.so.6 => /lib64/tls/libc.so.6 (0x0000003097e00000)
    libSM.so.6 => /usr/X11R6/lib64/libSM.so.6 (0x0000003765e00000)
    libICE.so.6 => /usr/X11R6/lib64/libICE.so.6 (0x0000003764e00000)
    libdl.so.2 => /lib64/libdl.so.2 (0x0000003098100000)
    /lib64/ld-linux-x86-64.so.2 (0x0000003097c00000)

Caram, ens en falten un parell. Passem-li el nom de la llibreria al yum i ja buscarà ell quin paquet ens cal.

# yum install libXp.so.6

Fem una ullada a totes les 'shared llibraries' instal·lades amb ldconfig.

# ldconfig -p | grep Xp.so
    libXpm.so.4 (libc6) => /usr/X11R6/lib/libXpm.so.4

Però l'instal·lador de Matlab torna a petar! Perquè? Probablement, perque el yum ens ha instal·lat la versió 32 bits de la llibreria. :-( Què hi farem, ningú no és perfecte.

# rpm -qf /usr/X11R6/lib/libXp.so.6
xorg-x11-deprecated-libs-6.8.2-1.EL.13.37.5.i386

# yum install xorg-x11-deprecated-libs.x86_64

# ldd /var/tmp/matlab/cd1/update/bin/glnxa64/xsetup
    libXt.so.6 => /usr/X11R6/lib64/libXt.so.6 (0x0000002a95561000)
    libX11.so.6 => /usr/X11R6/lib64/libX11.so.6 (0x0000003764c00000)
    libXext.so.6 => /usr/X11R6/lib64/libXext.so.6 (0x0000003765800000)
    libXp.so.6 => /usr/X11R6/lib64/libXp.so.6 (0x0000002a956c4000)
    libmwins.so => not found
    libc.so.6 => /lib64/tls/libc.so.6 (0x0000003097e00000)
    libSM.so.6 => /usr/X11R6/lib64/libSM.so.6 (0x0000003765e00000)
    libICE.so.6 => /usr/X11R6/lib64/libICE.so.6 (0x0000003764e00000)
    libdl.so.2 => /lib64/libdl.so.2 (0x0000003098100000)
    /lib64/ld-linux-x86-64.so.2 (0x0000003097c00000)

Ara si. Sembla que l'altre llibreria que ens falta és "prescindible", perque la instal·lació es fa sense cap més entrebanc. M'agradaria saber què és aquesta llibreria...

Comentaris