This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug bootstrap/47907] Bootstrap failure: libiberty/hashtab.c: error: conflicting types for 'int_fast16_t'
- From: "skunk at iskunk dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sun, 6 Mar 2011 22:28:43 +0000
- Subject: [Bug bootstrap/47907] Bootstrap failure: libiberty/hashtab.c: error: conflicting types for 'int_fast16_t'
- Auto-submitted: auto-generated
- References: <bug-47907-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47907
--- Comment #2 from Daniel Richard G. <skunk at iskunk dot org> 2011-03-06 22:28:42 UTC ---
I've managed to work around this issue with the following steps:
1. Create a site configuration file with the following:
ac_cv_header_stdint_h=no
gcc_cv_header_stdint_h=no
glibcxx_cv_c99_stdint_tr1=no
gt_cv_header_stdint_h=no
jm_ac_cv_header_stdint_h=no
2. Set the environment variable CONFIG_SITE to the path to this file.
3. /path/to/gcc-4.5.2/configure --yadda --yadda --whatever
4. Edit the top-level Makefile to replace all lines of the form
CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
with e.g.
XXX_CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
(That is, so CONFIG_SITE is not overridden at any point.)
5. Bootstrap GCC.
The problem appears to be that GCC's stdint.h (which in this case is really
gcc-4.5.2/gcc/ginclude/stdint-gcc.h, because the system has no stdint.h of its
own) is incompatible with the system's inttypes.h. Blacklisting inttypes.h
doesn't work, because the system's sys/types.h #includes it. Blacklisting GCC's
stdint.h, however, allows the bootstrap to complete (modulo bug #48009).