Instalei o Mathematica 9 em um antigo sistema Red Hat Enterprise Linux AS release 4. Após a instalação, tentei iniciar o Mathematica, mas saiu a seguinte mensagem:
/home/wcbao/M/Wolfram/Mathematica/9.0/SystemFiles/FrontEnd/Binaries/Linux-x86-64/Mathematica: /lib64/tls/libc.so.6: versão `GLIBC_2.4 'não encontrada (exigido por / home / wcbao / M / Wolfram / Mathematica / 9.0 / SystemFiles / Bibliotecas / Linux-x86-64 / libML64i3.so)
/home/wcbao/M/Wolfram/Mathematica/9.0/SystemFiles/FrontEnd/Binaries/Linux-x86-64/Mathematica: /lib64/tls/libc.so.6: versão `GLIBC_2.4 'não encontrada (exigido por / home / wcbao / M / Wolfram / Mathematica / 9.0 / SystemFiles / Bibliotecas / Linux-x86-64 / libQtCore.so.4)
Não quero atualizar o glibc do sistema, porque é arriscado e o administrador não me permite fazer isso.
Alguém sugeriu que é possível simplesmente instalar a nova versão do glibc em outro lugar e executar o programa como
LD_LIBRARY_PATH=/lib/new your_application
e isso não afetará o sistema.
Então, eu estou perguntando aqui se esse método realmente funciona. E, se funcionar, quero saber como fazê-lo passo a passo (não tenho experiência no Linux no momento e quero usar o Mathematica no Linux o mais rápido possível).
Editar :
Percebi que existe um software chamado "Ermine". Parece que ele pode implantar um software como pacote independente, que não depende do ambiente externo. Infelizmente, é um shareware. Então, acho que, como o "Ermine" pode fazê-lo, deve haver uma maneira de usar o novo software no sistema antigo.
Respostas:
Você pode compilar definitivamente uma nova versão do GLIBC e armazená-la em um diretório separado. A primeira coisa que você precisará fazer é baixar a versão do glibc desejada em http://ftp.gnu.org/gnu/glibc/ .
Execute o
configure
script e defina--prefix=
como algo como/home/you/mylibs
.Depois de conseguir instalá-lo nesse diretório, você deverá definir seu
LD_LIBRARY_PATH
local na nova glibc.Você precisará descobrir quaisquer dependências que precise compilar. Você pode criar um script de shell que defina as variáveis LD_ * e execute o programa (o que você teria que fazer de qualquer maneira), e execute-o repetidamente - faça o download / recompilar as bibliotecas ausentes ao longo do caminho.
Você também pode usar
ldd
para determinar quais bibliotecas compartilhadas o programa precisa e, em seguida, usarldd
em cada uma das bibliotecas para descobrir se elas exigem glibc.Esse processo pode consumir muito tempo e não é para os impacientes ou fracos de coração - percorrer / recompilar o caminho pelas possíveis dependências necessárias para que o aplicativo funcione, ocasionalmente pode fazer com que você queira arrancar os cabelos.
Atualização 1:
Eu baixei glibc-2.4 e tentou compilá-lo no CentOS 6. Para obter
configure
funcionando corretamente eu tive que mudar osac
eld
verificações de versão, alterando:para:
nas linhas
4045
e4106
noconfigure
próprio arquivo. Defino minhas variáveis de ambiente * FLAGS da seguinte maneira:e depois executado
./configure --prefix=/home/tim/masochist
. Ele configurou corretamente ... e começou a criar corretamente também ... mas então comecei a encontrar erros - principalmente o compilador reclamando que as coisas estavam sendo redefinidas.Naquele momento, desisti ... Porque estava ficando muito demorado . ;)
fonte
root
ou faça algo estranho, como alterar seu LD_PRELOAD no script init da sessão e se proteger.Atualizar glibc para uma versão suportada por sua distribuição é de baixo risco. Ele foi escrito para lidar com a compatibilidade com versões que datam de muito tempo atrás, e (descobrindo bugs) uma nova versão deve ser apenas uma gota na substituição. Instalar uma nova versão em algum lugar estranho é mais arriscado, IMHO.
fonte
Nesse caso em particular, eu diria que não se preocupe, a menos que você tenha assistência (e permissão) dos administradores deste sistema compartilhado.
O Mathematica é executado no Windows, Mac e Linux, então instale-o na sua máquina desktop, onde você não precisa se preocupar em afetar os outros. Também é mais provável que o sistema operacional seja mais recente que o RHEL4 e, portanto, você não precisará fazer contorções para instalá-lo.
fonte