I've just changed my video card from an ATI Radeon 9200 SE to an nVIDIA Geforce FX 5600. I've re-emerged celestia-1.3.1 in order to be able to use nvidia extensions. with opengl-update xorg-x11 && emerge celestia && opengl-update nvidia, I'm able to start celestia, but could only use basic OpenGL with opengl-update nvidia && emerge celestia, celestia segfault when I start it skuld@skuld# celestia Erreur de segmentation skuld@skuld# I use 6106 nvidia drivers, with 4k stack ck-sources-2.6.7-r5 kernel, and X.org X11 Reproducible: Always Steps to Reproduce: 1. switch to nvidia GLX 2. emerge celestia 3. start celestia Actual Results: celestia segfault Expected Results: celestia starts and use nVIDIA GL extensions 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_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 5600/AGP/SSE2 OpenGL version string: 1.5.1 NVIDIA 61.06 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_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 emerge --info Portage 2.0.50-r8 (default-x86-2004.0, gcc-3.3.3, glibc-2.3.3.20040420-r0, 2.6.7-ck5) ================================================================= System uname: 2.6.7-ck5 i686 Intel(R) Pentium(R) 4 CPU 2.80GHz Gentoo Base System version 1.5.1 Autoconf: sys-devel/autoconf-2.59-r4 Automake: sys-devel/automake-1.8.5-r1 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-march=pentium4 -O2 -pipe -fomit-frame-pointer -ftracer -mfpmath=sse,387" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=pentium4 -O2 -pipe -fomit-frame-pointer -ftracer -mfpmath=sse,387" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache fixpackages sandbox" GENTOO_MIRRORS="ftp://mirrors.sec.informatik.tu-darmstadt.de/gentoo/ http://mirror.datapipe.net/gentoo" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="X alsa apm arts avi berkdb bonobo cdr crypt cups dvd dvdr encode esd foomaticdb gdbm gif gnome gpm gtk gtk2 gtkhtml guile imlib ipv6 java jpeg kde ldap libg++ libwww linguas_fr mad mikmod mmx motif moznocompose moznoirc mpeg ncurses nls nptl oggvorbis opengl oss pam pda pdflib perl png ppds python qt quicktime readline samba sdl slang spell sse ssl svga tcltk tcpd truetype usb x86 xml2 xv zlib"
I've add "debug" to my use flags, commented my CFLAGS, and add "nostrip" to FEATURES Here's a gdb output : skuld@skuld# gdb celestia GNU gdb 6.1.1 Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i686-pc-linux-gnu"...Using host libthread_db library "/lib/libthread_db.so.1". (gdb) run Starting program: /usr/bin/celestia warning: Unable to find dynamic linker breakpoint function. GDB will be unable to debug shared library initializers and track explicitly loaded dynamic code. Program received signal SIGSEGV, Segmentation fault. 0x00000000 in ?? ()
I've fixed my problem I've deleted /usr/lib/opengl/nvidia/lib/libnvidia-tls.so.1 and now celestia start without segfaulting
This is the TLS install issue. emerge nvidia-glx-1.0.6106-r1 it should fix the problem ..
Yes it does Thanks for your help :)
I have to add a comment Previously emerged celestia does not segfault anymore with nvidia-glx-1.0.6106-r1 but now it doesn't compile. I get these errors (not complete, the console buffer wasn't enought big): /usr/include/GL/glext.h:4731: error: `GLfloat' was not declared in this scope /usr/include/GL/glext.h:4731: error: erreur d'analyse syntaxique before `,' token /usr/include/GL/glext.h:4732: error: erreur d'analyse syntaxique before `*' token /usr/include/GL/glext.h:4733: error: type specifier omitted for parameter ` GLfloat' /usr/include/GL/glext.h:4733: error: erreur d'analyse syntaxique before `,' token /usr/include/GL/glext.h:4734: error: erreur d'analyse syntaxique before `*' token /usr/include/GL/glext.h:4735: error: type specifier omitted for parameter ` GLubyte' [...] /usr/include/GL/glext.h:5921: error: type specifier omitted for parameter ` GLenum' /usr/include/GL/glext.h:5921: error: erreur d'analyse syntaxique before `,' token /usr/include/GL/glext.h:5922: error: type specifier omitted for parameter ` GLenum' /usr/include/GL/glext.h:5922: error: erreur d'analyse syntaxique before `,' token /usr/include/GL/glext.h:5923: error: type specifier omitted for parameter ` GLenum' /usr/include/GL/glext.h:5923: error: erreur d'analyse syntaxique before `,' token /usr/include/GL/glext.h:5931: error: `GLclampd' was not declared in this scope /usr/include/GL/glext.h:5931: error: erreur d'analyse syntaxique before `,' token /usr/include/GL/glext.h:5943: error: `GLenum' was not declared in this scope /usr/include/GL/glext.h:5943: error: erreur d'analyse syntaxique before `,' token In file included from ../celengine/gl.h:34, from texturefont.cpp:22: /usr/include/GL/gl.h:60: error: conflicting types for `typedef unsigned char GLboolean' /usr/include/GL/glext.h:3145: error: previous declaration as `typedef int (GLboolean)(...)' /usr/include/GL/gl.h:64: error: conflicting types for `typedef int GLint' /usr/include/GL/glext.h:3672: error: previous declaration as `typedef int (GLint)(unsigned int, const GLcharARB*)' /usr/include/GL/gl.h:68: error: conflicting types for `typedef unsigned int GLuint' /usr/include/GL/glext.h:4414: error: previous declaration as `typedef int (GLuint)(...)' make[3]: *** [texturefont.o] Erreur 1 make[3]: Leaving directory `/var/tmp/portage/celestia-1.3.1/work/celestia-1.3.1/src/celtxf' make[2]: *** [all-recursive] Erreur 1 make[2]: Leaving directory `/var/tmp/portage/celestia-1.3.1/work/celestia-1.3.1/src' make[1]: *** [all-recursive] Erreur 1 make[1]: Leaving directory `/var/tmp/portage/celestia-1.3.1/work/celestia-1.3.1' make: *** [all] Erreur 2 !!! ERROR: app-sci/celestia-1.3.1 failed. !!! Function src_compile, Line 74, Exitcode 2 !!! (no error message)
I was very worried this might happen actually... Well obviously there are a few more things that need to be patched in that gl.h patch.
Fix just going into CVS, you will need to remerge nvidia-glx in about an hour and report back if possible....
It now works : no segfault and no compile error Thanks for your help :)
I had the same problem (I think) when compiling libsdl (it would not get GLX support). See bug http://bugs.gentoo.org/show_bug.cgi?id=57366 for more details. I have not tried to reemerge 6106 yet.
After resyncing the tree and reemerging 6106, everything works here.
*** Bug 57366 has been marked as a duplicate of this bug. ***
Fixed.