Bug 8866 - ../main/mtypes.h:66:2: error: #error "illegal number of color channel bits" on Mac OS X
Summary: ../main/mtypes.h:66:2: error: #error "illegal number of color channel bits" o...
Status: RESOLVED INVALID
Alias: None
Product: xorg
Classification: Unclassified
Component: Server/General (show other bugs)
Version: 7.1 (2006.05)
Hardware: PowerPC Mac OS X (All)
: high normal
Assignee: Xorg Project Team
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-11-02 16:51 UTC by Peter Dyballa
Modified: 2007-03-11 13:27 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
symlink-mesa-fix.diff (343 bytes, patch)
2006-11-03 05:05 UTC, Jasmin Buchert
no flags Details | Splinter Review

Description Peter Dyballa 2006-11-02 16:51:48 UTC
When making xserver I get:

 gcc -DHAVE_CONFIG_H -I. -I. -I../../../include -I../../../include -I../../../include -I../../../include -
I../../../include -I../../../include -I../../../include -I../../../include -I../../../include -I/Users/pete/
Quellen/X11R7.1/Mesa-6.5.2/include -I../X -I../array_cache -I../glapi -I../main -I../math -I../shader -
I../swrast -I../swrast_setup -I../tnl -I.. -I../../glx -I../../../GL/glx -I../../../GL/include -I../../../hw/
xfree86/os-support -no-cpp-precomp -I/usr/include/openssl -I/sw/include/pango-1.0 -I/sw/lib/
freetype219/include -I/sw/lib/freetype219/include/freetype2 -I/sw/lib/fontconfig2/include -I/sw/
include/libpng12 -I/usr/local/include -I/sw/include -DHAVE_DIX_CONFIG_H -DXFree86Server -
DXFree86Server -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-
declarations -Wnested-externs -fno-strict-aliasing -D_BSD_SOURCE -DHAS_FCHOWN -
DHAS_STICKY_DIR_BIT -I/usr/X11R7/include -I/sw/lib/freetype219/include/freetype2 -I../../../include 
-I../../../include -I../../../Xext -I../../../composite -I../../../damageext -I../../../xfixes -I../../../Xi -
I../../../mi -I../../../miext/shadow -I../../../miext/damage -I../../../render -I../../../randr -I../../../fb -
pipe -fPIC -O0 -mcpu=7450 -mtune=7450 -MT xf86glx.lo -MD -MP -MF .deps/xf86glx.Tpo -c 
xf86glx.c  -fno-common -DPIC -o .libs/xf86glx.o
In file included from ../main/context.h:54,
                 from xf86glx.c:54:
../main/mtypes.h:66:2: error: #error "illegal number of color channel bits"
../main/mtypes.h:78:4: error: #error "illegal number of stencil bits"
In file included from ../main/context.h:54,
                 from xf86glx.c:54:
../main/mtypes.h:569: error: 'MAX_DRAW_BUFFERS' undeclared here (not in a function)
../main/mtypes.h:636: error: 'MAX_TEXTURE_COORD_UNITS' undeclared here (not in a function)
../main/mtypes.h:677: error: 'MAX_LIGHTS' undeclared here (not in a function)
../main/mtypes.h:722: error: 'MAX_TEXTURE_IMAGE_UNITS' undeclared here (not in a function)
../main/mtypes.h:825: error: 'HISTOGRAM_TABLE_SIZE' undeclared here (not in a function)
../main/mtypes.h:855: error: 'MAX_CONVOLUTION_WIDTH' undeclared here (not in a function)
../main/mtypes.h:855: error: 'MAX_CONVOLUTION_HEIGHT' undeclared here (not in a function)
../main/mtypes.h:993: error: 'MAX_PIXEL_MAP_TABLE' undeclared here (not in a function)
../main/mtypes.h:1204: error: parse error before 'GLchan'
../main/mtypes.h:1204: warning: function declaration isn't a prototype
../main/mtypes.h:1382: error: parse error before 'GLchan'
../main/mtypes.h:1382: warning: no semicolon at end of struct or union
../main/mtypes.h:1406: error: 'MAX_TEXTURE_LEVELS' undeclared here (not in a function)
../main/mtypes.h:1420: error: parse error before '}' token
../main/mtypes.h:1506: error: field 'Saved1D' has incomplete type
../main/mtypes.h:1507: error: field 'Saved2D' has incomplete type
../main/mtypes.h:1508: error: field 'Saved3D' has incomplete type
../main/mtypes.h:1509: error: field 'SavedCubeMap' has incomplete type
../main/mtypes.h:1510: error: field 'SavedRect' has incomplete type
../main/mtypes.h:1548: error: 'MAX_TEXTURE_UNITS' undeclared here (not in a function)
../main/mtypes.h:1571: error: 'MAX_CLIP_PLANES' undeclared here (not in a function)
../main/mtypes.h:1742: error: 'MAX_NAME_STACK_DEPTH' undeclared here (not in a function)
../main/mtypes.h:1859: error: 'MAX_PROGRAM_LOCAL_PARAMS' undeclared here (not in a function)
../main/mtypes.h:1930: error: 'MAX_NV_VERTEX_PROGRAM_PARAMS' undeclared here (not in a function)
../main/mtypes.h:1956: error: 'MAX_NV_FRAGMENT_PROGRAM_PARAMS' undeclared here (not in a 
function)
In file included from ../main/context.h:54,
                 from xf86glx.c:54:
../main/mtypes.h:2749: error: 'MAX_LIST_NESTING' undeclared here (not in a function)
../main/mtypes.h:2830: error: 'MAX_PROGRAM_MATRICES' undeclared here (not in a function)
../main/mtypes.h:2849: error: 'MAX_ATTRIB_STACK_DEPTH' undeclared here (not in a function)
../main/mtypes.h:2883: error: 'MAX_CLIENT_ATTRIB_STACK_DEPTH' undeclared here (not in a function)
xf86glx.c:428: warning: no previous prototype for 'GlxGetMesaProvider'
make[3]: *** [xf86glx.lo] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive] Error 1

It happens with xserver/GL/mesa/X/xf86glx.c. Obviously it does not include xserver/GL/mesa/X/../
main/config.h which is a sym-link to Mesa-6.5.2/src/mesa/main/config.h. The reason might be that 
gcc's search path for C header files is incorrect:

	#include <...> search starts here:
	 .
	 ../../../include
	 /Users/pete/Quellen/X11R7.1/Mesa-6.5.2/include
	 ../array_cache
	 ../glapi
	 ../main
	 ../math
	 ../shader
	 ../swrast
	 ../swrast_setup
	 ../tnl
	 ..
	 ../../glx
	 ../../../hw/xfree86/os-support
	 /usr/include/openssl
	 /sw/include/pango-1.0
	 /sw/lib/freetype219/include
	 /sw/lib/freetype219/include/freetype2
	 /sw/lib/fontconfig2/include
	 /sw/include/libpng12
	 /sw/include
	 /usr/X11R7/include
	 ../../../Xext
	 ../../../composite
	 ../../../damageext
	 ../../../xfixes
	 ../../../Xi
	 ../../../mi
	 ../../../miext/shadow
	 ../../../miext/damage
	 ../../../render
	 ../../../randr
	 ../../../fb
	 /usr/local/include
	 /usr/lib/gcc/powerpc-apple-darwin8/4.0.1/include
	 /usr/include
	 /System/Library/Frameworks
	 /Library/Frameworks
	End of search list.

So #include <config.h> on line #47 of xserver/GL/mesa/X/xf86glx.c leads to including xserver/include/
config.h:

	# 47 "xf86glx.c" 2
	# 1 "../../../include/config.h" 1
	# 25 "../../../include/config.h"
	#define CONFIG_H 
	void configInitialise(void);
	void configFini(void);
	void configDispatch(void);
	# 48 "xf86glx.c" 2
	# 1 "../../glx/glxserver.h" 1
	#define _GLX_server_h_ 

So instead of "-I../../../include -I../../../include -I../../../include -I../../../include -I../../../include -
I../../../include -I../../../include -I../../../include -I../../../include ...  -I../main" the compile command 
should obviously start with "-I../main -I../../../include" ...

Mac OS X 10.4.8
GCC 4.0.1
Mesa 6.5.2
Version 7.1.99.2
Comment 1 Jasmin Buchert 2006-11-03 05:05:10 UTC
Created attachment 7642 [details] [review]
symlink-mesa-fix.diff

This patch fixed the problem here
Comment 2 Peter Dyballa 2006-11-03 06:10:35 UTC
Yes, the patch makes the files in xserver/GL/mesa/X compile, the lib is built – but then bug #8865 stops 
further compilation ...
Comment 3 Daniel Stone 2007-02-27 01:34:18 UTC
Sorry about the phenomenal bug spam, guys.  Adding xorg-team@ to the QA contact so bugs don't get lost in future.
Comment 4 Peter Dyballa 2007-03-11 13:27:29 UTC
This obviously is GLX related, which is not supported for XDarwin, so it's a faulty bug report.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.