This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug bootstrap/47907] Bootstrap failure: libiberty/hashtab.c: error: conflicting types for 'int_fast16_t'


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).


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]