Instalé Mathematica 9 en un viejo sistema Red Hat Enterprise Linux AS versión 4. Después de la instalación, intenté iniciar Mathematica, pero apareció el siguiente mensaje:
/home/wcbao/M/Wolfram/Mathematica/9.0/SystemFiles/FrontEnd/Binaries/Linux-x86-64/Mathematica: /lib64/tls/libc.so.6: no se encuentra la versión `GLIBC_2.4 '(requerido por / home / wcbao / M / Wolfram / Mathematica / 9.0 / SystemFiles / Libraries / Linux-x86-64 / libML64i3.so)
/home/wcbao/M/Wolfram/Mathematica/9.0/SystemFiles/FrontEnd/Binaries/Linux-x86-64/Mathematica: /lib64/tls/libc.so.6: no se encuentra la versión `GLIBC_2.4 '(requerido por / home / wcbao / M / Wolfram / Mathematica / 9.0 / SystemFiles / Libraries / Linux-x86-64 / libQtCore.so.4)
No quiero actualizar el sistema glibc, porque es arriesgado y el administrador no me permite hacerlo.
Alguien sugirió que es posible instalar una nueva versión de glibc en otro lugar y ejecutar el programa como
LD_LIBRARY_PATH=/lib/new your_application
y esto no afectará al sistema.
Entonces, estoy preguntando aquí si este método realmente funciona. Y si funciona, quiero saber cómo hacerlo paso a paso (no tengo experiencia en Linux en este momento y quiero usar Mathematica en Linux lo antes posible).
Editar :
Me di cuenta de que hay un software llamado "Armiño". Parece que puede implementar un software como paquete independiente que no depende del entorno externo. Lamentablemente, es un shareware. Así que creo que ya que "Ermine" puede hacerlo, debe haber una manera de usar un nuevo software en un sistema antiguo.
Respuestas:
Definitivamente puede compilar una nueva versión de GLIBC y almacenarla en un directorio separado. Lo primero que tendrá que hacer es descargar la versión de glibc que desee de http://ftp.gnu.org/gnu/glibc/ .
Ejecute el
configure
script y establezca el--prefix=
a algo así/home/you/mylibs
.Una vez que haya logrado instalarlo en ese directorio, deberá configurarlo
LD_LIBRARY_PATH
en la ubicación del nuevo glibc.Tendrá que averiguar las dependencias que necesite compilar. Puede crear un script de shell que establezca las variables LD_ * y ejecute su programa (lo que tendría que hacer de todos modos), y ejecútelo repetidamente: descargue / vuelva a compilar las bibliotecas que faltan en el camino.
También puede usar
ldd
para determinar qué bibliotecas compartidas necesita el programa, luego usarldd
en cada una de las bibliotecas para averiguar si requieren glibc.Este puede ser un proceso que consume mucho tiempo y no es para los impacientes o débiles del corazón : atravesar / recompilar las posibles dependencias necesarias para que su aplicación funcione puede ocasionalmente hacer que desee arrancarse el cabello.
Actualización 1:
He descargado glibc-2.4 y trató de compilar en CentOS 6. Para
configure
trabajar correctamente que tenía que cambiar lasac
yld
verificación de la versión cambiando:a:
en líneas
4045
y4106
en elconfigure
archivo mismo. Establezco mis variables de entorno * FLAGS de esta manera:y luego ejecutado
./configure --prefix=/home/tim/masochist
. Se configuró correctamente ... y también comenzó a compilarse correctamente ... pero luego comencé a encontrar errores, principalmente el compilador quejándose de las cosas que se redefinían.En ese momento me di por vencido ... Porque se estaba volviendo demasiado lento . ;)
fuente
root
o que haga algo extraño como cambiar su LD_PRELOAD en el script de inicio de sesión y bloquearse.Actualizar glibc a una versión compatible con su distribución es de bajo riesgo. Está escrito para manejar la compatibilidad con versiones que datan de hace mucho tiempo, y (dejando al descubierto los errores) una nueva versión debería ser una simple sustitución. Instalar una nueva versión en algún lugar extraño es más riesgoso, en mi humilde opinión.
fuente
En este caso particular, diría que no te molestes, a menos que tengas ayuda (y permiso) de los administradores de este sistema compartido.
Mathematica se ejecuta en Windows, Mac y Linux, así que simplemente instálelo en su máquina de escritorio donde no tenga que preocuparse por afectar a otros. También es más probable que el sistema operativo sea más reciente que RHEL4 y, por lo tanto, no tendrá que hacer ninguna contorsión para instalarlo.
fuente