[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