[MacPorts] #37115: gcc43 produces on PPC Mac OS X 10.4.11, Tiger, an error with /opt/local/include/X11/Xlib.h

MacPorts noreply at macports.org
Fri Nov 23 14:47:26 PST 2012


#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


More information about the macports-tickets mailing list