erro ao carregar bibliotecas compartilhadas: libGL.so.1: não é possível abrir o arquivo de objeto compartilhado: esse arquivo ou diretório não existe

erro ao carregar bibliotecas compartilhadas: libGL.so.1: não é possível abrir o arquivo de objeto compartilhado: esse arquivo ou diretório não existe
anisha@linux-y3pi:~/> google-earth 
./googleearth-bin: error while loading shared libraries: libGL.so.1: cannot open shared object file: No such file or directory

anisha@linux-y3pi:~/> locate libGL
/opt/google/earth/free/libGLU.so.1
/usr/lib64/libGL.so
/usr/lib64/libGL.so.1
/usr/lib64/libGL.so.1.2
/usr/lib64/libGLU.so.1
/usr/lib64/libGLU.so.1.3.070802

anisha@linux-y3pi:~/> uname -a
Linux linux-y3pi 2.6.34-12-desktop #1 SMP PREEMPT 2010-06-29 02:39:08 +0200 x86_64 x86_64 x86_64 GNU/Linux

No OpenSUSE, experimente o zypper no Mesa-32bit para instalar a versão de 32 bits da biblioteca.

linux-y3pi:# zypper in Mesa-32bit
Retrieving repository 'google-chrome' metadata [\]
Failed to download /repodata/repomd.xml from http://dl.google.com/linux/chrome/rpm/stable/x86_64
Abort, retry, ignore? [a/r/i/?] (a): r
Retrieving repository 'google-chrome' metadata [|]
Failed to download /repodata/repomd.xml from http://dl.google.com/linux/chrome/rpm/stable/x86_64
Abort, retry, ignore? [a/r/i/?] (a): i
Retrieving repository 'google-chrome' metadata [error]
Repository 'google-chrome' is invalid.
Can't provide /repodata/repomd.xml : User-requested skipping of a file
Please check if the URIs defined for this repository are pointing to a valid repository.
Warning: Disabling repository 'google-chrome' because of the above error.
Retrieving repository 'google-earth' metadata [/]
Failed to download /repodata/repomd.xml from http://dl.google.com/linux/earth/rpm/stable/i386
Abort, retry, ignore? [a/r/i/?] (a): r
Failed to download /repodata/repomd.xml from http://dl.google.com/linux/earth/rpm/stable/i386
Abort, retry, ignore? [a/r/i/?] (a):

Responder1

Como disse o Renan, isso é resultado de uma incompatibilidade de 32/64 bits. No OpenSUSE, tente zypper in Mesa-32bitinstalar a versão de 32 bits da biblioteca. Em geral, se você possui a versão de 64 bits, pode usar rpm -qfpara encontrar o pacote que contém a biblioteca:

% rpm -qf /usr/lib64/libGLU.so.1
Mesa-7.11-11.4.2.x86_64

No OpenSUSE, a convenção de nomenclatura para bibliotecas de 32 bits é anexar -32bitao nome do pacote, portanto, retire as informações de versão e arquitetura e adicione o sufixo para obter Mesa-32bit.

Responder2

Na minha caixa de 64 bits, geralmente instalo qualquer biblioteca de 32 bits correspondente às minhas bibliotecas de 64 bits, para não ter esse problema. Claro, talvez sejam bibliotecas extras que talvez eu não precise ou nunca use, mas também não costumo receber esses erros.

informação relacionada