On the latest i386 Sid, gcc-4.0 does not build from source, on my machine,
and on a buildd (see the logs). With dash as sh, I get:
Will not build the Pascal compiler: disabled for 4.0
Will build the Ada compiler.
Will build the shared Ada libraries.
Will build the Treelang compiler.
Will build the FFI library.
Will run the testsuite.
/bin/bash: -c: line 0: syntax error near unexpected token `)'
make[1]: *** [stamps/04-configure-stamp] Error 2
Making bash sh solves this. Next up I get the following:
In file included from /usr/include/bits/mathinline.h:5, from /usr/include/math.h:382, from ../../../../src/libiberty/floatformat.c:27:
/usr/include/x86_64-linux/bits/mathinline.h:45: error: syntax error before
‘{’ token
/usr/include/x86_64-linux/bits/mathinline.h:46: error: syntax error before
‘}’ token
/usr/include/x86_64-linux/bits/mathinline.h:46: error: field name not in
record or union initializer
/usr/include/x86_64-linux/bits/mathinline.h:46: error: (near initialization
for ‘__u’)
/usr/include/x86_64-linux/bits/mathinline.h:46: error: ‘__x’ undeclared here
(not in a function)
/usr/include/x86_64-linux/bits/mathinline.h:47: error: syntax error before
‘return’
/usr/include/x86_64-linux/bits/mathinline.h:51: error: syntax error before
‘{’ token
/usr/include/x86_64-linux/bits/mathinline.h:52: error: conflicting types for
‘__i’
/usr/include/x86_64-linux/bits/mathinline.h:46: error: previous declaration
of ‘__i’ was here
/usr/include/x86_64-linux/bits/mathinline.h:52: error: syntax error before
‘}’ token
/usr/include/x86_64-linux/bits/mathinline.h:52: error: redefinition of ‘__u’
/usr/include/x86_64-linux/bits/mathinline.h:46: error: previous definition
of ‘__u’ was here
/usr/include/x86_64-linux/bits/mathinline.h:52: error: field name not in
record or union initializer
/usr/include/x86_64-linux/bits/mathinline.h:52: error: (near initialization
for ‘__u’)
/usr/include/x86_64-linux/bits/mathinline.h:53: error: syntax error before
‘return’
/usr/include/x86_64-linux/bits/mathinline.h:57: error: syntax error before
‘{’ token
/usr/include/x86_64-linux/bits/mathinline.h:58: error: conflicting types for
‘__i’
/usr/include/x86_64-linux/bits/mathinline.h:46: error: previous declaration
of ‘__i’ was here
/usr/include/x86_64-linux/bits/mathinline.h:58: error: syntax error before
‘}’ token
/usr/include/x86_64-linux/bits/mathinline.h:58: error: redefinition of ‘__u’
/usr/include/x86_64-linux/bits/mathinline.h:46: error: previous definition
of ‘__u’ was here
/usr/include/x86_64-linux/bits/mathinline.h:58: error: field name not in
record or union initializer
/usr/include/x86_64-linux/bits/mathinline.h:58: error: (near initialization
for ‘__u’)
/usr/include/x86_64-linux/bits/mathinline.h:59: error: syntax error before
‘return’
make[6]: *** [floatformat.o] Error 1
make[6]: Leaving directory
`/home/chris/gcc-temp/gcc-4.0-4.0.1/build/i486-linux-gnu/64/libiberty'
make[5]: *** [multi-do] Error 1
This may have something to do with the build-depends, and gcc-4.0's failure
on the i386 buildd. One of gcc-4.0's build-depends is: "libc6-dev-amd64
[i386] | amd64-libs-dev (>= 1.2) [i386]". It is my understanding that on
the buildds, the first element in any such list of packages which satisfies
a build dependency must be available, otherwise the build fails.
libc6-dev-amd64 is not installable on i386. On my machine, I fell back to
amd64-libs-dev, but clearly something still wasn't right, and the build
still failed, as above.
Package: gcc-4.0
Version: 4.0.1-8
Severity: serious
Hello,
On the latest i386 Sid, gcc-4.0 does not build from source, on my machine,
and on a buildd (see the logs). With dash as sh, I get:
Will not build the Pascal compiler: disabled for 4.0 04-configure- stamp] Error 2
Will build the Ada compiler.
Will build the shared Ada libraries.
Will build the Treelang compiler.
Will build the FFI library.
Will run the testsuite.
/bin/bash: -c: line 0: syntax error near unexpected token `)'
make[1]: *** [stamps/
Making bash sh solves this. Next up I get the following:
In file included from /usr/include/ bits/mathinline .h:5,
from /usr/include/ math.h: 382,
from ../../. ./../src/ libiberty/ floatformat. c:27: x86_64- linux/bits/ mathinline. h:45: error: syntax error before x86_64- linux/bits/ mathinline. h:46: error: syntax error before x86_64- linux/bits/ mathinline. h:46: error: field name not in x86_64- linux/bits/ mathinline. h:46: error: (near initialization x86_64- linux/bits/ mathinline. h:46: error: ‘__x’ undeclared here x86_64- linux/bits/ mathinline. h:47: error: syntax error before x86_64- linux/bits/ mathinline. h:51: error: syntax error before x86_64- linux/bits/ mathinline. h:52: error: conflicting types for x86_64- linux/bits/ mathinline. h:46: error: previous declaration x86_64- linux/bits/ mathinline. h:52: error: syntax error before x86_64- linux/bits/ mathinline. h:52: error: redefinition of ‘__u’ x86_64- linux/bits/ mathinline. h:46: error: previous definition x86_64- linux/bits/ mathinline. h:52: error: field name not in x86_64- linux/bits/ mathinline. h:52: error: (near initialization x86_64- linux/bits/ mathinline. h:53: error: syntax error before x86_64- linux/bits/ mathinline. h:57: error: syntax error before x86_64- linux/bits/ mathinline. h:58: error: conflicting types for x86_64- linux/bits/ mathinline. h:46: error: previous declaration x86_64- linux/bits/ mathinline. h:58: error: syntax error before x86_64- linux/bits/ mathinline. h:58: error: redefinition of ‘__u’ x86_64- linux/bits/ mathinline. h:46: error: previous definition x86_64- linux/bits/ mathinline. h:58: error: field name not in x86_64- linux/bits/ mathinline. h:58: error: (near initialization x86_64- linux/bits/ mathinline. h:59: error: syntax error before chris/gcc- temp/gcc- 4.0-4.0. 1/build/ i486-linux- gnu/64/ libiberty'
/usr/include/
‘{’ token
/usr/include/
‘}’ token
/usr/include/
record or union initializer
/usr/include/
for ‘__u’)
/usr/include/
(not in a function)
/usr/include/
‘return’
/usr/include/
‘{’ token
/usr/include/
‘__i’
/usr/include/
of ‘__i’ was here
/usr/include/
‘}’ token
/usr/include/
/usr/include/
of ‘__u’ was here
/usr/include/
record or union initializer
/usr/include/
for ‘__u’)
/usr/include/
‘return’
/usr/include/
‘{’ token
/usr/include/
‘__i’
/usr/include/
of ‘__i’ was here
/usr/include/
‘}’ token
/usr/include/
/usr/include/
of ‘__u’ was here
/usr/include/
record or union initializer
/usr/include/
for ‘__u’)
/usr/include/
‘return’
make[6]: *** [floatformat.o] Error 1
make[6]: Leaving directory
`/home/
make[5]: *** [multi-do] Error 1
This may have something to do with the build-depends, and gcc-4.0's failure
on the i386 buildd. One of gcc-4.0's build-depends is: "libc6-dev-amd64
[i386] | amd64-libs-dev (>= 1.2) [i386]". It is my understanding that on
the buildds, the first element in any such list of packages which satisfies
a build dependency must be available, otherwise the build fails.
libc6-dev-amd64 is not installable on i386. On my machine, I fell back to
amd64-libs-dev, but clearly something still wasn't right, and the build
still failed, as above.
Cheers,
Christopher Martin