This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug bootstrap/53351] New: Missing integer types when bootstrapping on AIX 4.3
- From: "skunk at iskunk dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 14 May 2012 22:44:17 +0000
- Subject: [Bug bootstrap/53351] New: Missing integer types when bootstrapping on AIX 4.3
- Auto-submitted: auto-generated
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53351
Bug #: 53351
Summary: Missing integer types when bootstrapping on AIX 4.3
Classification: Unclassified
Product: gcc
Version: 4.7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: bootstrap
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: skunk@iskunk.org
Host: powerpc-ibm-aix4.3.2.0
Target: powerpc-ibm-aix4.3.2.0
Build: powerpc-ibm-aix4.3.2.0
Bootstrapping 4.7.0 on AIX 4.3 fails with
[...]
Making all in c++11
gmake[6]: Entering directory
`/tmp/gcc-build/powerpc-ibm-aix4.3.2.0/libstdc++-v3/src/c++11'
/opt/freeware/bin/bash ../../libtool --tag CXX --tag disable-shared
--mode=compile /tmp/gcc-build/./gcc/xgcc -shared-libgcc -B/tmp/gcc-build/./gcc
-nostdinc++ -L/tmp/gcc-build/powerpc-ibm-aix4.3.2.0/libstdc++-v3/src
-L/tmp/gcc-build/powerpc-ibm-aix4.3.2.0/libstdc++-v3/src/.libs
-B/opt/tg/powerpc-ibm-aix4.3.2.0/bin/ -B/opt/tg/powerpc-ibm-aix4.3.2.0/lib/
-isystem /opt/tg/powerpc-ibm-aix4.3.2.0/include -isystem
/opt/tg/powerpc-ibm-aix4.3.2.0/sys-include
-I/home/src/gcc-4.7.0/libstdc++-v3/../libgcc
-I/tmp/gcc-build/powerpc-ibm-aix4.3.2.0/libstdc++-v3/include/powerpc-ibm-aix4.3.2.0
-I/tmp/gcc-build/powerpc-ibm-aix4.3.2.0/libstdc++-v3/include
-I/home/src/gcc-4.7.0/libstdc++-v3/libsupc++ -fno-implicit-templates -Wall
-Wextra -Wwrite-strings -Wcast-qual -Wabi -fdiagnostics-show-location=once
-ffunction-sections -fdata-sections -frandom-seed=chrono.lo -std=gnu++11 -g
-c -o chrono.lo /home/src/gcc-4.7.0/libstdc++-v3/src/c++11/chrono.cc
libtool: compile: /tmp/gcc-build/./gcc/xgcc -shared-libgcc
-B/tmp/gcc-build/./gcc -nostdinc++
-L/tmp/gcc-build/powerpc-ibm-aix4.3.2.0/libstdc++-v3/src
-L/tmp/gcc-build/powerpc-ibm-aix4.3.2.0/libstdc++-v3/src/.libs
-B/opt/tg/powerpc-ibm-aix4.3.2.0/bin/ -B/opt/tg/powerpc-ibm-aix4.3.2.0/lib/
-isystem /opt/tg/powerpc-ibm-aix4.3.2.0/include -isystem
/opt/tg/powerpc-ibm-aix4.3.2.0/sys-include
-I/home/src/gcc-4.7.0/libstdc++-v3/../libgcc
-I/tmp/gcc-build/powerpc-ibm-aix4.3.2.0/libstdc++-v3/include/powerpc-ibm-aix4.3.2.0
-I/tmp/gcc-build/powerpc-ibm-aix4.3.2.0/libstdc++-v3/include
-I/home/src/gcc-4.7.0/libstdc++-v3/libsupc++ -fno-implicit-templates -Wall
-Wextra -Wwrite-strings -Wcast-qual -Wabi -fdiagnostics-show-location=once
-ffunction-sections -fdata-sections -frandom-seed=chrono.lo -std=gnu++11 -g -c
/home/src/gcc-4.7.0/libstdc++-v3/src/c++11/chrono.cc -DPIC -o chrono.o
In file included from
/tmp/gcc-build/powerpc-ibm-aix4.3.2.0/libstdc++-v3/include/ratio:39:0,
from
/tmp/gcc-build/powerpc-ibm-aix4.3.2.0/libstdc++-v3/include/chrono:38,
from /home/src/gcc-4.7.0/libstdc++-v3/src/c++11/chrono.cc:25:
/tmp/gcc-build/powerpc-ibm-aix4.3.2.0/libstdc++-v3/include/cstdint:65:11:
error: '::int8_t' has not been declared
/tmp/gcc-build/powerpc-ibm-aix4.3.2.0/libstdc++-v3/include/cstdint:66:11:
error: '::int16_t' has not been declared
/tmp/gcc-build/powerpc-ibm-aix4.3.2.0/libstdc++-v3/include/cstdint:67:11:
error: '::int32_t' has not been declared
/tmp/gcc-build/powerpc-ibm-aix4.3.2.0/libstdc++-v3/include/cstdint:68:11:
error: '::int64_t' has not been declared
/tmp/gcc-build/powerpc-ibm-aix4.3.2.0/libstdc++-v3/include/cstdint:70:11:
error: '::int_fast8_t' has not been declared
/tmp/gcc-build/powerpc-ibm-aix4.3.2.0/libstdc++-v3/include/cstdint:71:11:
error: '::int_fast16_t' has not been declared
/tmp/gcc-build/powerpc-ibm-aix4.3.2.0/libstdc++-v3/include/cstdint:72:11:
error: '::int_fast32_t' has not been declared
/tmp/gcc-build/powerpc-ibm-aix4.3.2.0/libstdc++-v3/include/cstdint:73:11:
error: '::int_fast64_t' has not been declared
/tmp/gcc-build/powerpc-ibm-aix4.3.2.0/libstdc++-v3/include/cstdint:75:11:
error: '::int_least8_t' has not been declared
/tmp/gcc-build/powerpc-ibm-aix4.3.2.0/libstdc++-v3/include/cstdint:76:11:
error: '::int_least16_t' has not been declared
/tmp/gcc-build/powerpc-ibm-aix4.3.2.0/libstdc++-v3/include/cstdint:77:11:
error: '::int_least32_t' has not been declared
[numerous cascaded errors elided]
gmake[6]: *** [chrono.lo] Error 1
gmake[6]: Leaving directory
`/tmp/gcc-build/powerpc-ibm-aix4.3.2.0/libstdc++-v3/src/c++11'
gmake[6]: Entering directory
`/tmp/gcc-build/powerpc-ibm-aix4.3.2.0/libstdc++-v3/src'
gmake[6]: *** No rule to make target `../src/c++98/libc++98convenience.la',
needed by `libstdc++.la'. Stop.
gmake[6]: Leaving directory
`/tmp/gcc-build/powerpc-ibm-aix4.3.2.0/libstdc++-v3/src'
gmake[5]: *** [all-recursive] Error 1
gmake[5]: Leaving directory
`/tmp/gcc-build/powerpc-ibm-aix4.3.2.0/libstdc++-v3/src'
gmake[4]: *** [all-recursive] Error 1
gmake[4]: Leaving directory
`/tmp/gcc-build/powerpc-ibm-aix4.3.2.0/libstdc++-v3'
gmake[3]: *** [all] Error 2
gmake[3]: Leaving directory
`/tmp/gcc-build/powerpc-ibm-aix4.3.2.0/libstdc++-v3'
gmake[2]: *** [all-stage1-target-libstdc++-v3] Error 2
gmake[2]: Leaving directory `/tmp/gcc-build'
gmake[1]: *** [stage1-bubble] Error 2
gmake[1]: Leaving directory `/tmp/gcc-build'
gmake: *** [bootstrap-lean] Error 2
As far as I can tell, things go wrong in <cstdint> in the "#if
_GLIBCXX_HAVE_STDINT_H" conditional---because if I repeat the above compiler
invocation with -D_GLIBCXX_HAVE_STDINT_H=1, compilation succeeds.
Note that while this system has no stdint.h header under /usr/include/, GCC
does provide one of its own ($(builddir)/gcc/include/stdint.h), and this header
is pulled in when _GLIBCXX_HAVE_STDINT_H is #defined to non-zero (confirmed via
-E).
_GLIBCXX_HAVE_STDINT_H is #undef in the various instances of c++config.h in the
build tree. If I hand-modify these in accordance with the above, the build
proceeds.
I believe the appropriate fix would be to have the libstdc++ configure-time
check for stdint.h regard GCC's header as satisfying the check. (If GCC
provides this header only when the system doesn't have one, or provides it
unconditionally, then perhaps the check is not needed at all.)