[Xquartz-dev] 2.3.2_beta3 on Tiger in X11R7.2

Peter Dyballa Peter_Dyballa at Freenet.DE
Fri Nov 21 07:30:56 PST 2008


Am 20.11.2008 um 23:06 schrieb Peter Dyballa:

> indirect.c: In function 'setup_dispatch_table':
> indirect.c:1268: error: 'glBlitFramebufferEXT' undeclared (first use
> in this function)
> indirect.c:1268: error: (Each undeclared identifier is reported only
> once
> indirect.c:1268: error: for each function it appears in.)
>

The problem starts at lines #57:

    57	#include <OpenGL/OpenGL.h>
    58	#include <OpenGL/CGLContext.h>
    59	
    60	// X11 and X11's glx
    61	#include <GL/gl.h>
    62	#include <GL/glxproto.h>
    63	#include <windowstr.h>
    64	#include <resource.h>
    65	#include <GL/glxint.h>
    66	#include <GL/glxtokens.h>
    67	#include <scrnintstr.h>
    68	#include <glxserver.h>
    69	#include <glxscreens.h>
    70	#include <glxdrawable.h>
    71	#include <glxcontext.h>
    72	#include <glxext.h>
    73	#include <glxutil.h>
    74	#include <glxscreens.h>
    75	#include <GL/internal/glcore.h>
    76	#include "x-hash.h"
    77	#include "x-list.h"

/System/Library/Frameworks/OpenGL.framework/Headers/CGLContext.h is  
included on place of <OpenGL/CGLContext.h>. Followed by

	. /System/Library/Frameworks/OpenGL.framework/Headers/CGLContext.h
	.. /System/Library/Frameworks/OpenGL.framework/Headers/gliContext.h
	.. /System/Library/Frameworks/OpenGL.framework/Headers/gliDispatch.h
	... /System/Library/Frameworks/OpenGL.framework/Headers/gl.h
	.... /System/Library/Frameworks/OpenGL.framework/Headers/glext.h
	. /usr/X11/include/GL/gl.h
	. /usr/X11/include/GL/glxproto.h
	.. /usr/X11/include/GL/glxmd.h

So we see that /System/Library/Frameworks/OpenGL.framework/Headers/ 
glext.h is included from an Apple version of GL/gl.h, /System/Library/ 
Frameworks/OpenGL.framework/Headers/gl.h. This has on line #64:

    64	#ifndef GL_GLEXT_LEGACY
    65	#include <OpenGL/glext.h>
    66	#endif

/usr/X11/include/GL/gl.h, which includes (the proper) <GL/glext.h>  
(that has glBlitFramebufferEXT) has on line #2140:

  2140	/*
  2141	 * Define this token if you want "old-style" header file  
behaviour (extensions
  2142	 * defined in gl.h).  Otherwise, extensions will be included  
from glext.h.
  2143	 */
  2144	#if defined(GL_GLEXT_LEGACY)
  2145	
  2146	/* All extensions that used to be here are now found in  
glext.h */
  2147	
  2148	#else  /* GL_GLEXT_LEGACY */
  2149	
  2150	#include <GL/glext.h>
  2151	
  2152	#endif  /* GL_GLEXT_LEGACY */


GL_GLEXT_LEGACY is not defined in any /System/Library/Frameworks/ 
OpenGL.framework/Headers file, nowhere in the pre-proceessed  
indirect.c file, so <GL/glext.h> should be included. But all I can  
see in the pre-proceessed indirect.c file is:

	# 59 "indirect.c" 2
	
	
	# 1 "/usr/X11/include/GL/gl.h" 1
	# 62 "indirect.c" 2
	# 1 "/usr/X11/include/GL/glxproto.h" 1
	
	#define _GLX_glxproto_h_
	# 34 "/usr/X11/include/GL/glxproto.h"
	# 1 "/usr/X11/include/GL/glxmd.h" 1
	
	#define _GLX_glxmd_h_
	# 42 "/usr/X11/include/GL/glxmd.h"
	typedef float FLOAT32;
	typedef double FLOAT64;
	# 52 "/usr/X11/include/GL/glxmd.h"
	#define F32
	# 35 "/usr/X11/include/GL/glxproto.h" 2

and no further mentioning of /usr/X11/include/GL/gl.h. All data types  
are taken from /System/Library/Frameworks/OpenGL.framework/Headers/gl.h.


This obviously is going to persist even if I switch to Mesa 7.0.4 and  
X11R7.4 since xserver and operating system stay the same. So it might  
be appropriate to #include <GL/glext.h> in case of Tiger in  
indirect.c after line #61 ...

--
Greetings

   Pete

Specifications are for the weak and timid!





More information about the Xquartz-dev mailing list