Bug #51
closedProblem building htp lib on OSX 10.5
Description
Problem building htp lib on OSX 10.5 related to pedantic-errors not ignoring system headers in gcc < 4.1
Making all in htp
/bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I.. -D_GNU_SOURCE -g -O2 -Wall -Wextra -std=gnu99 -pedantic-errors -g -O2 -MT bstr.lo -MD -MP -MF .deps/bstr.Tpo -c -o bstr.lo bstr.c
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I.. -I.. -D_GNU_SOURCE -g -O2 -Wall -Wextra -std=gnu99 -pedantic-errors -g -O2 -MT bstr.lo -MD -MP -MF .deps/bstr.Tpo -c bstr.c -fno-common -DPIC -o .libs/bstr.o
In file included from /usr/include/i386/_structs.h:38,
from /usr/include/machine/_structs.h:31,
from /usr/include/sys/_structs.h:57,
from /usr/include/sys/signal.h:154,
from /usr/include/sys/wait.h:116,
from /usr/include/stdlib.h:65,
from bstr.h:6,
from bstr.c:2:
/usr/include/mach/i386/_structs.h:91: error: type of bit-field '__invalid' is a GCC extension
/usr/include/mach/i386/_structs.h:92: error: type of bit-field '__denorm' is a GCC extension
/usr/include/mach/i386/_structs.h:93: error: type of bit-field '__zdiv' is a GCC extension
/usr/include/mach/i386/_structs.h:94: error: type of bit-field '__ovrfl' is a GCC extension
/usr/include/mach/i386/_structs.h:95: error: type of bit-field '__undfl' is a GCC extension
/usr/include/mach/i386/_structs.h:96: error: type of bit-field '__precis' is a GCC extension
/usr/include/mach/i386/_structs.h:97: error: type of bit-field '<anonymous>' is a GCC extension
/usr/include/mach/i386/_structs.h:98: error: type of bit-field '__pc' is a GCC extension
/usr/include/mach/i386/_structs.h:104: error: type of bit-field '__rc' is a GCC extension
/usr/include/mach/i386/_structs.h:111: error: type of bit-field '<anonymous>' is a GCC extension
/usr/include/mach/i386/_structs.h:112: error: type of bit-field '<anonymous>' is a GCC extension
/usr/include/mach/i386/_structs.h:149: error: type of bit-field '__invalid' is a GCC extension
/usr/include/mach/i386/_structs.h:150: error: type of bit-field '__denorm' is a GCC extension
/usr/include/mach/i386/_structs.h:151: error: type of bit-field '__zdiv' is a GCC extension
/usr/include/mach/i386/_structs.h:152: error: type of bit-field '__ovrfl' is a GCC extension
/usr/include/mach/i386/_structs.h:153: error: type of bit-field '__undfl' is a GCC extension
/usr/include/mach/i386/_structs.h:154: error: type of bit-field '__precis' is a GCC extension
/usr/include/mach/i386/_structs.h:155: error: type of bit-field '__stkflt' is a GCC extension
/usr/include/mach/i386/_structs.h:156: error: type of bit-field '__errsumm' is a GCC extension
/usr/include/mach/i386/_structs.h:157: error: type of bit-field '__c0' is a GCC extension
/usr/include/mach/i386/_structs.h:158: error: type of bit-field '__c1' is a GCC extension
/usr/include/mach/i386/_structs.h:159: error: type of bit-field '__c2' is a GCC extension
/usr/include/mach/i386/_structs.h:160: error: type of bit-field '__tos' is a GCC extension
/usr/include/mach/i386/_structs.h:161: error: type of bit-field '__c3' is a GCC extension
/usr/include/mach/i386/_structs.h:162: error: type of bit-field '__busy' is a GCC extension
make2: * [bstr.lo] Error 1
make1: [all-recursive] Error 1
make: ** [all] Error 2
$ gcc v]*$/s/$/-4.0/ --with-gxx-include-dir=/include/c++/4.0.0 --with-slibdir=/usr/lib --build=i686-apple-darwin9 --with-arch=apple --with-tune=generic --host=i686-apple-darwin9 --target=i686-apple-darwin9
Using built-in specs.
Target: i686-apple-darwin9
Configured with: /var/tmp/gcc/gcc-5493~1/src/configure --disable-checking -enable-werror --prefix=/usr --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-transform-name=/^[cg][^.
Thread model: posix
gcc version 4.0.1 (Apple Inc. build 5493)
Problem seems to be that gcc version 4.0.1 has a broken implementation of -pedantic-errors that doesn't ignore System headers
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25171
Solution for gcc was to fix gcc, I don't see a good workaround other than disable pedantic-errors on OSX 10.5 :(
Files