Opened 13 years ago
Closed 13 years ago
#30492 closed defect (fixed)
Mesa 7.11-rc3 does not compile on PPC Mac OS X 10.5.8 due to C header file
Reported by: | ballapete (Peter "Pete" Dyballa) | Owned by: | macports-tickets@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.0.0 |
Keywords: | Cc: | jeremyhu (Jeremy Huddleston Sequoia) | |
Port: | mesa |
Description
Compilation ends here:
/usr/bin/gcc-4.2 -c -o state_tracker/st_atom.o state_tracker/st_atom.c -D_DARWIN_C_SOURCE -DPTHREADS -D_GNU_SOURCE -DGLX_ALIAS_UNSUPPORTED -DGLX_DIRECT_RENDERING -DGLX_USE_APPLEGL -I../../include -I../../src/glsl -I../../src/mesa -I../../src/mapi -I../../src/gallium/include -I../../src/gallium/auxiliary -ggdb3 -Os -Wall -Wmissing-prototypes -std=c99 -ffast-math -fno-strict-aliasing -fvisibility=hidden -I/opt/local/include -I/opt/local/include -fPIC -arch ppc In file included from ../../src/gallium/include/pipe/p_compiler.h:32, from ../../src/gallium/include/pipe/p_defines.h:31, from state_tracker/st_atom.c:32: ../../src/gallium/include/pipe/p_config.h:134:2: error: #error Unknown Endianness make[2]: *** [state_tracker/st_atom.o] Error 1 make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_ports_x11_mesa/mesa/work/Mesa-7.11-rc3/src/mesa' make[1]: *** [subdirs] Error 1 make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_ports_x11_mesa/mesa/work/Mesa-7.11-rc3/src' make: *** [default] Error 1
The cause is that GCC 4.2 defines (at least with PPC 7447A/7450) other symbols than assumed in src/gallium/include/pipe/p_config.h:
echo | gcc-4.2 -E -dM - | grep -i ppc | sort #define _ARCH_PPC 1 #define _ARCH_PPCGR 1 #define __ppc__ 1
So these lines fail to define a pipe architecture:
102 #if defined(__PPC__) 103 #define PIPE_ARCH_PPC 104 #if defined(__PPC64__) 105 #define PIPE_ARCH_PPC_64 106 #endif 107 #endif
GCC 4.2 provides so easy means:
echo | gcc-4.2 -E -dM - | grep -i end | sort #define _BIG_ENDIAN 1 #define __BIG_ENDIAN__ 1
Could be it's even documented...
Attachments (1)
Change History (2)
Changed 13 years ago by ballapete (Peter "Pete" Dyballa)
comment:1 Changed 13 years ago by jeremyhu (Jeremy Huddleston Sequoia)
Resolution: | → fixed |
---|---|
Status: | new → closed |
Thanks, r81482
Note: See
TracTickets for help on using
tickets.
The main.log file.