[MacPorts] #37115: gcc43 produces on PPC Mac OS X 10.4.11, Tiger, an error with /opt/local/include/X11/Xlib.h
#37115: gcc43 produces on PPC Mac OS X 10.4.11, Tiger, an error with /opt/local/include/X11/Xlib.h -----------------------------+-------------------------------- Reporter: Peter_Dyballa@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.2 Keywords: | Port: gcc43 -----------------------------+-------------------------------- The invocation is: {{{ gcc-mp-4.3 -std=gnu99 -o xaw3d -I/opt/local/include -g -ggdb3 -H -pipe -fPIC -fno-common -Os -mcpu=7450 -mtune=7450 -maltivec -faltivec -mabi=altivec -I/opt/local/include/ImageMagick -L/opt/local/lib -v -Wl,-v -Wl,-bind_at_load -Wl,-t xaw3d.c -lgnutls -lMagickWand -lMagickCore -lX11 -lpthread -mwarn-altivec-long }}} according to what the configure script uses. The error is this: {{{ Apple Inc version cctools-806, GNU assembler version 1.38 Compiler executable checksum: 23c71723296e01b69e431a6dc6818a24 . /opt/local/include/X11/Intrinsic.h .. /opt/local/include/X11/Xlib.h ... /usr/include/sys/types.h .... /usr/include/sys/appleapiopts.h .... /usr/include/sys/cdefs.h .... /usr/include/machine/types.h ..... /usr/include/ppc/types.h ...... /usr/include/ppc/_types.h .... /usr/include/sys/_types.h ..... /usr/include/machine/_types.h .... /usr/include/machine/endian.h ..... /usr/include/ppc/endian.h ...... /usr/include/sys/_endian.h ....... /usr/include/stdint.h ....... /usr/include/libkern/OSByteOrder.h ........ /usr/include/libkern/ppc/OSByteOrder.h ... /opt/local/include/X11/X.h ... /opt/local/include/X11/Xfuncproto.h ... /opt/local/include/X11/Xosdefs.h ... /opt/local/lib/gcc43/gcc/ppc-apple-darwin8/4.3.6/include/stddef.h In file included from /opt/local/include/X11/Intrinsic.h:53, from xaw3d.c:78: /opt/local/include/X11/Xlib.h:419: error: duplicate 'unsigned' /opt/local/include/X11/Xlib.h:419: error: both 'long' and 'short' in declaration specifiers .. /opt/local/include/X11/Xutil.h ... /opt/local/include/X11/keysym.h .... /opt/local/include/X11/keysymdef.h .. /opt/local/include/X11/Xresource.h .. /usr/include/string.h ... /usr/include/_types.h .. /opt/local/lib/gcc43/gcc/ppc-apple-darwin8/4.3.6/include/stddef.h .. /opt/local/include/X11/Core.h .. /opt/local/include/X11/Composite.h .. /opt/local/include/X11/Constraint.h .. /opt/local/include/X11/Object.h .. /opt/local/include/X11/RectObj.h . /opt/local/include/X11/Xaw3d/Simple.h .. /opt/local/include/X11/Xaw3d/Xaw3dP.h ... /opt/local/include/X11/IntrinsicP.h .... /opt/local/include/X11/CoreP.h .... /opt/local/include/X11/CompositeP.h .... /opt/local/include/X11/ConstrainP.h .... /opt/local/include/X11/ObjectP.h .... /opt/local/include/X11/RectObjP.h .. /opt/local/include/X11/Xmu/Converters.h Multiple include guards may be useful for: /opt/local/include/X11/keysym.h /opt/local/include/X11/keysymdef.h Exit 1 }}} The code in X11/xlib.h is: {{{ 415 /* 416 * Data structure used by color operations 417 */ 418 typedef struct { 419 unsigned long pixel; 420 unsigned short red, green, blue; 421 char flags; /* do_red, do_green, do_blue */ 422 char pad; 423 } XColor; }}} being expanded to: {{{ typedef struct { unsigned long __attribute__((altivec(pixel__))) unsigned short; unsigned short red, green, blue; char flags; char pad; } XColor; }}} The reason for this is this built-in rule: {{{ #define _ARCH_PPC 1 #define _ARCH_PPCGR 1 #define __ALTIVEC__ 1 #define __VEC__ 10206 #define __vector __attribute__((altivec(vector__))) #define __pixel __attribute__((altivec(pixel__))) unsigned short #define __bool __attribute__((altivec(bool__))) unsigned }}} Isn't it pretty silly to assume that a pixel will always have 16 bit? These 16 bit would be OK for each colour component and the alpha channel for transparency… -- Ticket URL: <https://trac.macports.org/ticket/37115> MacPorts <http://www.macports.org/> Ports system for Mac OS
participants (1)
-
MacPorts