Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 56610 - nvidia-glx provides conflicting glext.h and gl.h files
Summary: nvidia-glx provides conflicting glext.h and gl.h files
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Gentoo X packagers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-07-10 08:38 UTC by Arnaud Boudou
Modified: 2004-07-20 17:33 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Arnaud Boudou 2004-07-10 08:38:37 UTC
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"
Comment 1 Arnaud Boudou 2004-07-11 11:11:37 UTC
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 ?? ()
Comment 2 Arnaud Boudou 2004-07-11 11:58:22 UTC
I've fixed my problem
I've deleted /usr/lib/opengl/nvidia/lib/libnvidia-tls.so.1 and now celestia start without segfaulting
Comment 3 Andrew Bevitt 2004-07-16 23:53:18 UTC
This is the TLS install issue.

emerge nvidia-glx-1.0.6106-r1 it should fix the problem .. 
Comment 4 Arnaud Boudou 2004-07-17 00:01:14 UTC
Yes it does
Thanks for your help :)
Comment 5 Arnaud Boudou 2004-07-17 00:07:38 UTC
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)
Comment 6 Andrew Bevitt 2004-07-17 00:31:14 UTC
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.
Comment 7 Andrew Bevitt 2004-07-17 02:59:33 UTC
Fix just going into CVS, you will need to remerge nvidia-glx in about an hour and report back if possible....
Comment 8 Arnaud Boudou 2004-07-17 06:13:45 UTC
It now works : no segfault and no compile error
Thanks for your help :)
Comment 9 Alan Schmitt 2004-07-17 07:36:48 UTC
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.
Comment 10 Alan Schmitt 2004-07-19 22:52:03 UTC
After resyncing the tree and reemerging 6106, everything works here.
Comment 11 Mr. Bones. (RETIRED) gentoo-dev 2004-07-19 23:23:17 UTC
*** Bug 57366 has been marked as a duplicate of this bug. ***
Comment 12 Andrew Bevitt 2004-07-20 17:14:24 UTC
Fixed.