# error while loading shared libraries: libGL.so.1 (close)

## German3D

Pues eso  :Sad:  No se si es por que para AMD64 no hay nada compilado o que pero intento jugar a vendetta y plas error al canto :

```
tux@servidor ~ $ /home/tux/.vendetta/vendetta 

/home/tux/.vendetta/vendetta: error while loading shared libraries: libGL.so.1: cannot open shared object file: No such file or directory
```

Estube mirando por el foro y google y vi que lo arreglan con opengl-update nvidia pero a mi nada ..

```
tux@servidor ~ $ locate libGL.so.1

/usr/lib/opengl/xorg-x11/lib/libGL.so.1.2

/usr/lib/opengl/xorg-x11/lib/libGL.so.1

/usr/lib/opengl/nvidia/lib/libGL.so.1.0.6629

/usr/lib/opengl/nvidia/lib/libGL.so.1

/emul/linux/x86/usr/lib/opengl/xorg-x11/lib/libGL.so.1.2

/emul/linux/x86/usr/lib/opengl/xorg-x11/lib/libGL.so.1

/emul/linux/x86/usr/lib/opengl/nvidia/lib/libGL.so.1.0.6629

/emul/linux/x86/usr/lib/opengl/nvidia/lib/libGL.so.1

```

Tambien intente crear un enlace simbolico pero no valio de mucho 

```
ln -s /usr/lib/libGL.so /usr/lib/libGL.so.1
```

Ideas ? ^^ Gracias y 54|u2

----------

## kalcetoh

lo de opengl-update nvidia lo haces si tienes nvidia, si no usa opengl-update ati. Bueno creo que ahora en gentoo se hace usando eselect:

```
eselect opengl set nvidia
```

Si no usas los drivers propietarios de nvidia o ati debes hacer:

```
eselect opengl set xorg-x11
```

y luego no te olvides de hacer 

```
env-update

source /etc/profile
```

Todo como root.

----------

## German3D

```
servidor ~ # eselect opengl set nvidia

-bash: eselect: command not found

```

Nada , pero creo que no es problema del opengl-update ...

----------

## pacho2

 *German3D wrote:*   

> Pues eso  No se si es por que para AMD64 no hay nada compilado o que pero intento jugar a vendetta y plas error al canto :
> 
> ```
> tux@servidor ~ $ /home/tux/.vendetta/vendetta 
> 
> ...

 

¿Dónde está buscando las librerías?

Quizás si corres "ldd" sobre el ejecutable de vendetta...

Saludos

----------

## German3D

No se donde las busca :\ como lo miro ?

Y que es lo de correr ldd sobre vendetta ? 

Ando perdido como ves xD

Gracias por contestar un saludo

----------

## kalcetoh

Correr ldd sobre vendeta:

```
ldd vendeta
```

Te muestra todos las bibliotecas que usa el ejecutable.

Por cierto /usr/lib/libGL.so.1 debería apuntar en tu caso a /usr/lib/opengl/nvidia/lib/libGL.so.1

Has probado a usar la versión que hay en portage?

----------

## German3D

Gracias por la respuesta  :Smile: 

```
tux@servidor ~/.vendetta $ ldd vendetta

        linux-gate.so.1 =>  (0xffffe000)

        libGL.so.1 => not found

        libX11.so.6 => /emul/linux/x86/usr/lib/libX11.so.6 (0x55590000)

        libdl.so.2 => /lib32/libdl.so.2 (0x5565a000)

        libz.so.1 => /emul/linux/x86/lib/libz.so.1 (0x5565e000)

        libpthread.so.0 => /lib32/libpthread.so.0 (0x5566d000)

        libm.so.6 => /lib32/libm.so.6 (0x556bf000)

        libc.so.6 => /lib32/libc.so.6 (0x556e3000)

        /lib/ld-linux.so.2 (0x55555000)
```

En cuanto a lo de usar el de portage ya lo creo que lo intente  :Sad:  lo primerito de todo pero me mandaba a su web .

```
servidor .vendetta # emergemasked vendetta-online-bin

Calculating dependencies ...done!

>>> emerge (1 of 1) games-fps/vendetta-online-bin-1 to /

!!! vendetta-linux-installer.sh not found in /usr/portage/distfiles

!!! games-fps/vendetta-online-bin-1 has fetch restriction turned on.

!!! This probably means that this ebuild's files must be downloaded

!!! manually.  See the comments in the ebuild for more information.

 * You need to download vendetta-linux-installer.sh from Guild Software by:

 * 1. Going to http://www.vendetta-online.com/ and creating your login

 * 2. Obtain vendetta-linux-installer.sh from your CD

 *  OR

 * 2. Login to VO's website on the top-left under "Web",

 *    and then downloading it from the "Download" link

 *    under "Game" on the left pane.

 * 3. Put vendetta-linux-installer.sh in /usr/portage/distfiles

 * 4. emerge vendetta-online-bin
```

NOTA :emergemasked es un alias que tengo con ACCEPT KEYWORD AMD64 

Apunto el simbolico a donde comentas : ln -s /usr/lib/opengl/nvidia/lib/libGL.so.1 /usr/lib/libGL.so.1

pero nada  :Sad: 

```
tux@servidor ~/.vendetta $ ./vendetta 

./vendetta: error while loading shared libraries: libGL.so.1: cannot open shared object file: No such file or directory

tux@servidor ~/.vendetta $ ldd vendetta

        linux-gate.so.1 =>  (0xffffe000)

        libGL.so.1 => not found
```

54|u2 y gracias de nuevo

----------

## kalcetoh

Curiosamente en el faq de doom3 para linux aparece que existía tu error exactamente en gentoo y nvidia. Decía que se solucionaba haciendo:

```
LD_PRELOAD=/usr/lib/libGL.so.1 vendetta
```

prueba y comenta.

Nota: La página del faq de doom3 ha desaparecido. Si quieres verla prueba con la cache de google.

----------

## German3D

Uff nada que no quiere que juegue xD

```
servidor .vendetta # LD_PRELOAD=/usr/lib/libGL.so.1 vendetta

bash: vendetta: command not found

servidor .vendetta # LD_PRELOAD=/usr/lib/libGL.so.1 /home/tux/.vendetta/vendetta

ERROR: ld.so: object '/usr/lib/libGL.so.1' from LD_PRELOAD cannot be preloaded: ignored.

/home/tux/.vendetta/vendetta: error while loading shared libraries: libGL.so.1: cannot open shared object file: No such file or directory

```

Pinta feo esto ... 

54|u2

----------

## kabutor

y el 

```
ldd /usr/lib/libGL.so
```

que te devuelve?

Parece un problema de drivers te funciona bien el opengl? glxgears?

----------

## German3D

```
servidor tux # ldd /usr/lib/libGL.so

        libGLcore.so.1 => /usr/lib/opengl/nvidia/lib/libGLcore.so.1 (0x00002aaaaac63000)

        libnvidia-tls.so.1 => /usr/lib/opengl/nvidia/lib/libnvidia-tls.so.1 (0x00002aaaab3e2000)

        libm.so.6 => /lib/libm.so.6 (0x00002aaaab4e3000)

        libXext.so.6 => /usr/lib/libXext.so.6 (0x00002aaaab669000)

        libX11.so.6 => /usr/lib/libX11.so.6 (0x00002aaaab77b000)

        libdl.so.2 => /lib/libdl.so.2 (0x00002aaaab95c000)

        libc.so.6 => /lib/libc.so.6 (0x00002aaaaba5f000)

        /lib64/ld-linux-x86-64.so.2 (0x0000555555555000
```

Es que es rarisimo por que si tengo opengl  :Neutral: 

```
tux@servidor ~ $ glxgears -info

GL_MAX_VIEWPORT_DIMS=4096/4096

GL_RENDERER   = GeForce FX 5500/PCI/SSE2

GL_VERSION    = 1.5.2 NVIDIA 66.29

GL_VENDOR     = NVIDIA Corporation

GL_EXTENSIONS = GL_ARB_depth_texture GL_ARB_fragment_program GL_ARB_fragment_program_shadow GL_ARB_fragment_shad

er GL_ARB_imaging GL_ARB_multisample GL_ARB_multitexture GL_ARB_occlusion_query GL_ARB_point_parameters GL_ARB_p

oint_sprite GL_ARB_shadow GL_ARB_shader_objects GL_ARB_shading_language_100 GL_ARB_texture_border_clamp GL_ARB_t

exture_compression GL_ARB_texture_cube_map GL_ARB_texture_env_add GL_ARB_texture_env_combine GL_ARB_texture_env_

dot3 GL_ARB_texture_mirrored_repeat GL_ARB_texture_rectangle GL_ARB_transpose_matrix GL_ARB_vertex_buffer_object

 GL_ARB_vertex_program GL_ARB_vertex_shader GL_ARB_window_pos GL_S3_s3tc GL_EXT_texture_env_add GL_EXT_abgr GL_E

XT_bgra GL_EXT_blend_color GL_EXT_blend_func_separate GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_compiled_

vertex_array GL_EXT_Cg_shader GL_EXT_draw_range_elements GL_EXT_fog_coord GL_EXT_multi_draw_arrays GL_EXT_packed

_pixels GL_EXT_paletted_texture GL_EXT_pixel_buffer_object GL_EXT_point_parameters GL_EXT_rescale_normal GL_EXT_

secondary_color GL_EXT_separate_specular_color GL_EXT_shadow_funcs GL_EXT_shared_texture_palette GL_EXT_stencil_

two_side GL_EXT_stencil_wrap GL_EXT_texture3D GL_EXT_texture_compression_s3tc GL_EXT_texture_cube_map GL_EXT_tex

ture_edge_clamp GL_EXT_texture_env_combine GL_EXT_texture_env_dot3 GL_EXT_texture_filter_anisotropic GL_EXT_text

ure_lod GL_EXT_texture_lod_bias GL_EXT_texture_object GL_EXT_vertex_array GL_HP_occlusion_test GL_IBM_rasterpos_

clip GL_IBM_texture_mirrored_repeat GL_KTX_buffer_region GL_NV_blend_square GL_NV_copy_depth_to_color GL_NV_dept

h_clamp GL_NV_fence GL_NV_float_buffer GL_NV_fog_distance GL_NV_fragment_program GL_NV_fragment_program_option G

L_NV_half_float GL_NV_light_max_exponent GL_NV_multisample_filter_hint GL_NV_occlusion_query GL_NV_packed_depth_

stencil GL_NV_pixel_data_range GL_NV_point_sprite GL_NV_primitive_restart GL_NV_register_combiners GL_NV_registe

r_combiners2 GL_NV_texgen_reflection GL_NV_texture_compression_vtc GL_NV_texture_env_combine4 GL_NV_texture_expa

nd_normal GL_NV_texture_rectangle GL_NV_texture_shader GL_NV_texture_shader2 GL_NV_texture_shader3 GL_NV_vertex_

array_range GL_NV_vertex_array_range2 GL_NV_vertex_program GL_NV_vertex_program1_1 GL_NV_vertex_program2 GL_NV_v

ertex_program2_option GL_SGIS_generate_mipmap GL_SGIS_texture_lod GL_SGIX_depth_texture GL_SGIX_shadow GL_SUN_sl

ice_accum 

5946 frames in 5.0 seconds = 1189.200 FPS

9665 frames in 5.0 seconds = 1933.000 FPS

9668 frames in 5.0 seconds = 1933.600 FPS

9672 frames in 5.0 seconds = 1934.400 FPS

9667 frames in 5.0 seconds = 1933.400 FPS

X connection to :0.0 broken (explicit kill or server shutdown).

```

vaya vaya ... fui a probar el quake3 y no me arranca ...

```
----- R_Init -----

...loading libGL.so.1: QGL_Init: Can't load libGL.so.1 from /etc/ld.so.conf or c

urrent dir: /opt/quake3/libGL.so.1: cannot open shared object file: No such file

 or directory

failed

----- CL_Shutdown -----

RE_Shutdown( 1 )

-----------------------

----- CL_Shutdown -----

-----------------------

Sys_Error: GLimp_Init() - could not load OpenGL subsystem
```

Voy a KDE no sea que sea por algo de fluxbox ...

Edit : te cagas ahora no me va nada en opengl ( menos glxgeears O_o )

```
tux@servidor ~ $ armyops 

Could not load OpenGL library

History: 

Exiting due to error
```

Que puedo hacer ?

----------

## kalcetoh

Prueba a ver:

```
opengl-update nvidia

env-update

source /etc/profile
```

----------

## German3D

```
servidor tux # opengl-update nvidia

 * Switching to nvidia OpenGL interface ...

>>> Regenerating /etc/ld.so.cache...                                      [ ok ]

servidor tux # env-update

>>> Regenerating /etc/ld.so.cache...

servidor tux # source /etc/profile

servidor tux # exit

exit

tux@servidor ~ $ armyops 

Could not load OpenGL library

History: 

Exiting due to error

```

O_o una pregunta totna ... glxgears no va por opengl ? O_o

----------

## kabutor

Yo haria un emerge sync 

pondria en /etc/portage/package.keywords

```
media-video/nvidia-kernel ~amd64

media-video/nvidia-glx ~amd64

```

Y reemergeria esos dos paquetes a ver si con controladores mas modernos te va, posiblemente necesites tambien eselect

```
app-admin/eselect-opengl ~amd64

app-admin/eselect ~amd64

```

y lo unico que veo de diferencia es que mientras tu tienes libGL.so apuntand

/usr/lib/opengl/nvidia/lib/libGL.so.1 o a 

yo lo tengo 

/usr/lib64/opengl/nvidia/lib/libGL.so.1 

pero en /lib hay un enlace que apunta a /lib64 asi es que deberia de ser lo mismo.

----------

## Sertinell

Para comprobar si dispones de opengl lo mejor es hacer un glxinfo. Glxgears hay veces qe se hace unasñapas y funciona sin opengl, tirando de CPU.

----------

## German3D

```
tux@servidor ~ $ glxinfo

name of display: :0.0

display: :0  screen: 0

direct rendering: Yes

server glx vendor string: NVIDIA Corporation

server glx version string: 1.3

server glx extensions:

    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_SGIX_fbconfig, 

    GLX_SGIX_pbuffer, GLX_SGI_video_sync, GLX_SGI_swap_control, 

    GLX_ARB_multisample, GLX_NV_float_buffer

client glx vendor string: NVIDIA Corporation

client glx version string: 1.3

client glx extensions:

    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_visual_info, 

    GLX_EXT_visual_rating, GLX_EXT_import_context, GLX_SGI_video_sync, 

    GLX_NV_swap_group, GLX_NV_video_out, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, 

    GLX_SGI_swap_control, GLX_NV_float_buffer

GLX extensions:

    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_SGIX_fbconfig, 

    GLX_SGIX_pbuffer, GLX_SGI_video_sync, GLX_SGI_swap_control, 

    GLX_ARB_multisample, GLX_NV_float_buffer, GLX_ARB_get_proc_address

OpenGL vendor string: NVIDIA Corporation

OpenGL renderer string: GeForce FX 5500/PCI/SSE2

OpenGL version string: 1.5.2 NVIDIA 66.29

OpenGL extensions:

    GL_ARB_depth_texture, GL_ARB_fragment_program, 

    GL_ARB_fragment_program_shadow, GL_ARB_fragment_shader, GL_ARB_imaging, 

    GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_occlusion_query, 

    GL_ARB_point_parameters, GL_ARB_point_sprite, GL_ARB_shadow, 

    GL_ARB_shader_objects, GL_ARB_shading_language_100, 

    GL_ARB_texture_border_clamp, GL_ARB_texture_compression, 

    GL_ARB_texture_cube_map, GL_ARB_texture_env_add, 

    GL_ARB_texture_env_combine, GL_ARB_texture_env_dot3, 

    GL_ARB_texture_mirrored_repeat, GL_ARB_texture_rectangle, 

    GL_ARB_transpose_matrix, GL_ARB_vertex_buffer_object, 

    GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_ARB_window_pos, 

    GL_S3_s3tc, GL_EXT_texture_env_add, GL_EXT_abgr, GL_EXT_bgra, 

    GL_EXT_blend_color, GL_EXT_blend_func_separate, GL_EXT_blend_minmax, 

    GL_EXT_blend_subtract, GL_EXT_compiled_vertex_array, GL_EXT_Cg_shader, 

    GL_EXT_draw_range_elements, GL_EXT_fog_coord, GL_EXT_multi_draw_arrays, 

    GL_EXT_packed_pixels, GL_EXT_paletted_texture, GL_EXT_pixel_buffer_object, 

    GL_EXT_point_parameters, GL_EXT_rescale_normal, GL_EXT_secondary_color, 

    GL_EXT_separate_specular_color, GL_EXT_shadow_funcs, 

    GL_EXT_shared_texture_palette, GL_EXT_stencil_two_side, 

    GL_EXT_stencil_wrap, GL_EXT_texture3D, GL_EXT_texture_compression_s3tc, 

    GL_EXT_texture_cube_map, GL_EXT_texture_edge_clamp, 

    GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3, 

    GL_EXT_texture_filter_anisotropic, GL_EXT_texture_lod, 

    GL_EXT_texture_lod_bias, GL_EXT_texture_object, GL_EXT_vertex_array, 

    GL_HP_occlusion_test, GL_IBM_rasterpos_clip, 

    GL_IBM_texture_mirrored_repeat, GL_KTX_buffer_region, GL_NV_blend_square, 

    GL_NV_copy_depth_to_color, GL_NV_depth_clamp, GL_NV_fence, 

    GL_NV_float_buffer, GL_NV_fog_distance, GL_NV_fragment_program, 

    GL_NV_fragment_program_option, GL_NV_half_float, GL_NV_light_max_exponent, 

    GL_NV_multisample_filter_hint, GL_NV_occlusion_query, 

    GL_NV_packed_depth_stencil, GL_NV_pixel_data_range, GL_NV_point_sprite, 

    GL_NV_primitive_restart, GL_NV_register_combiners, 

    GL_NV_register_combiners2, GL_NV_texgen_reflection, 

    GL_NV_texture_compression_vtc, GL_NV_texture_env_combine4,

   GL_NV_texture_expand_normal, GL_NV_texture_rectangle, 

    GL_NV_texture_shader, GL_NV_texture_shader2, GL_NV_texture_shader3, 

    GL_NV_vertex_array_range, GL_NV_vertex_array_range2, GL_NV_vertex_program, 

    GL_NV_vertex_program1_1, GL_NV_vertex_program2, 

    GL_NV_vertex_program2_option, GL_SGIS_generate_mipmap, 

    GL_SGIS_texture_lod, GL_SGIX_depth_texture, GL_SGIX_shadow, 

    GL_SUN_slice_accum

glu version: 1.3

glu extensions:

    GLU_EXT_nurbs_tessellator, GLU_EXT_object_space_tess

```

Segun eso si tengo pero no se ... voi a reemerger como dice kabutor a ver si se arregla ...

54|u2

EDIT jojojo ahora si la hice buena xD

```
servidor tux # eselect opengl set nvidia

Switching to nvidia OpenGL interface... done

servidor tux # env-update

>>> Regenerating /etc/ld.so.cache...

servidor tux # source /etc/profile

...

tux@servidor ~ $ armyops 

X Error of failed request:  BadImplementation (server does not implement operation)

  Major opcode of failed request:  147 (NV-GLX)

  Minor opcode of failed request:  2 ()

  Serial number of failed request:  8

  Current serial number in output stream:  8

Couldn't set video mode: Could not create GL context

History: 

Exiting due to error

tux@servidor ~ $ glxgears

X Error of failed request:  BadImplementation (server does not implement operation)

  Major opcode of failed request:  147 (NV-GLX)

  Minor opcode of failed request:  2 ()

  Serial number of failed request:  8

  Current serial number in output stream:  8

glxgears: Error: glXCreateContext failed.
```

Ahora ya podemos asegurar que NO tengo OpenGL xDD

EDIT2 : YEHAAAAA al reiniciar se soluciono lo del opengl  :Smile:  muchas gracias a to2  :Smile: 

----------

