gdc in raspbian stretch.
Peter Green via D.gnu
d.gnu at puremagic.com
Tue Jun 16 17:45:49 PDT 2015
I maintain raspbian, a project to rebuild Debian for the
raspberry pi (and in principle other armv6 devices but the Pi
seems to be the only armv6 device anyone cares about). We try to
support as much of Debian as possible but as effectively a single
person project do not have the resources to dig deeply into
problems with minor languages.
In Raspbian jessie and stretch we have successfully built gdc-4.9
from the gcc-4.9 source package. However the same cannot be said
for gcc-5 which has recented entered stretch. A log of our most
recent attempt can be found at
http://buildd.raspbian.org/status/fetch.php?pkg=gcc-5&arch=armhf&ver=5.1.1-9&stamp=1434096865 . An extract of potentially interesting lines from said log is bwlo.
tar -x -C /«PKGBUILDDIR»/src --strip-components=1 -f
gdc-20150414.tar.xz
<---snip--->
/«PKGBUILDDIR»/build/./prev-gcc/xg++
-B/«PKGBUILDDIR»/build/./prev-gcc/
-B/usr/arm-linux-gnueabihf/bin/ -nostdinc++
-B/«PKGBUILDDIR»/build/prev-arm-linux-gnueabihf/libstdc++-v3/src/.libs -B/«PKGBUILDDIR»/build/prev-arm-linux-gnueabihf/libstdc++-v3/libsupc++/.libs -I/«PKGBUILDDIR»/build/prev-arm-linux-gnueabihf/libstdc++-v3/include/arm-linux-gnueabihf -I/«PKGBUILDDIR»/build/prev-arm-linux-gnueabihf/libstdc++-v3/include -I/«PKGBUILDDIR»/src/libstdc++-v3/libsupc++ -L/«PKGBUILDDIR»/build/prev-arm-linux-gnueabihf/libstdc++-v3/src/.libs -L/«PKGBUILDDIR»/build/prev-arm-linux-gnueabihf/libstdc++-v3/libsupc++/.libs -g -O2 -DIN_GCC -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -DHAVE_CONFIG_H -Wno-deprecated -Wstrict-aliasing -Wuninitialized -I. -Id -I../../src/gcc -I../../src/gcc/d -I../../src/gcc/../include -I../../src/gcc/../libcpp/include -I../../src/gcc/../libdecnumber -I../../src/gcc/../libdecnumber/dpd -I../libdecnumber -I../../src/gcc/../libbacktrace -Id -I../../src/gcc/d/dfrontend -I../../src/gcc/d -o d/expression.dmd.o -c ../../src/gcc/d/dfrontend/expression.c
<----snip------->
cc1d: ../../src/gcc/d/dfrontend/expression.c:2619:
IntegerExp::IntegerExp(Loc, dinteger_t, Type*): Assertion `type'
failed.
cc1d: internal compiler error: Aborted
libtool: compile: /«PKGBUILDDIR»/build/./gcc/gccgo
-B/«PKGBUILDDIR»/build/./gcc/ -B/usr/arm-linux-gnueabihf/bin/
-B/usr/arm-linux-gnueabihf/lib/ -isystem
/usr/arm-linux-gnueabihf/include -isystem
/usr/arm-linux-gnueabihf/sys-include -isystem
/«PKGBUILDDIR»/build/sys-include -O2 -g -ffp-contract=off -I . -c
-fgo-pkgpath=math ../../../src/libgo/go/math/abs.go
../../../src/libgo/go/math/acosh.go
../../../src/libgo/go/math/asin.go
../../../src/libgo/go/math/asinh.go
../../../src/libgo/go/math/atan.go
../../../src/libgo/go/math/atanh.go
../../../src/libgo/go/math/atan2.go
../../../src/libgo/go/math/bits.go
../../../src/libgo/go/math/cbrt.go
../../../src/libgo/go/math/const.go
../../../src/libgo/go/math/copysign.go
../../../src/libgo/go/math/dim.go
../../../src/libgo/go/math/erf.go
../../../src/libgo/go/math/exp.go
../../../src/libgo/go/math/expm1.go
../../../src/libgo/go/math/floor.go
../../../src/libgo/go/math/frexp.go
../../../src/libgo/go/math/gamma.go
../../../src/libgo/go/math/hypot.go
../../../src/libgo/go/math/j0.go ../../../src/libgo/go/math/j1.go
../../../src/libgo/go/math/jn.go
../../../src/libgo/go/math/ldexp.go
../../../src/libgo/go/math/lgamma.go
../../../src/libgo/go/math/log.go
../../../src/libgo/go/math/log1p.go
../../../src/libgo/go/math/log10.go
../../../src/libgo/go/math/logb.go
../../../src/libgo/go/math/mod.go
../../../src/libgo/go/math/modf.go
../../../src/libgo/go/math/nextafter.go
../../../src/libgo/go/math/pow.go
../../../src/libgo/go/math/pow10.go
../../../src/libgo/go/math/remainder.go
../../../src/libgo/go/math/signbit.go
../../../src/libgo/go/math/sin.go
../../../src/libgo/go/math/sincos.go
../../../src/libgo/go/math/sinh.go
../../../src/libgo/go/math/sqrt.go
../../../src/libgo/go/math/tan.go
../../../src/libgo/go/math/tanh.go
../../../src/libgo/go/math/unsafe.go -o math.o >/dev/null 2>&1
if [ x"" != x ]; then \
/«PKGBUILDDIR»/build/./gcc/xgcc -B/«PKGBUILDDIR»/build/./gcc/
-B/usr/arm-linux-gnueabihf/bin/ -B/usr/arm-linux-gnueabihf/lib/
-isystem /usr/arm-linux-gnueabihf/include -isystem
/usr/arm-linux-gnueabihf/sys-include -isystem
/«PKGBUILDDIR»/build/sys-include -c -DHAVE_CONFIG_H -g -O2
-I. -I../../../src/libiberty/../include -W -Wall -Wwrite-strings
-Wc++-compat -Wstrict-prototypes -pedantic -fPIC
../../../src/libiberty/simple-object-elf.c -o
noasan/simple-object-elf.o; \
else true; fi
/«PKGBUILDDIR»/build/./gcc/xgcc -B/«PKGBUILDDIR»/build/./gcc/
-B/usr/arm-linux-gnueabihf/bin/ -B/usr/arm-linux-gnueabihf/lib/
-isystem /usr/arm-linux-gnueabihf/include -isystem
/usr/arm-linux-gnueabihf/sys-include -isystem
/«PKGBUILDDIR»/build/sys-include -c -DHAVE_CONFIG_H -g -O2
-I. -I../../../src/libiberty/../include -W -Wall -Wwrite-strings
-Wc++-compat -Wstrict-prototypes -pedantic
../../../src/libiberty/simple-object-elf.c -o simple-object-elf.o
libtool: compile: /«PKGBUILDDIR»/build/./gcc/xgcc -shared-libgcc
-B/«PKGBUILDDIR»/build/./gcc -nostdinc++
-L/«PKGBUILDDIR»/build/arm-linux-gnueabihf/libstdc++-v3/src
-L/«PKGBUILDDIR»/build/arm-linux-gnueabihf/libstdc++-v3/src/.libs
-L/«PKGBUILDDIR»/build/arm-linux-gnueabihf/libstdc++-v3/libsupc++/.libs -B/usr/arm-linux-gnueabihf/bin/ -B/usr/arm-linux-gnueabihf/lib/ -isystem /usr/arm-linux-gnueabihf/include -isystem /usr/arm-linux-gnueabihf/sys-include -isystem /«PKGBUILDDIR»/build/sys-include -D_GNU_SOURCE -D_DEBUG -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -DHAVE_RPC_XDR_H=1 -DHAVE_TIRPC_RPC_XDR_H=0 -I. -I../../../../src/libsanitizer/sanitizer_common -I.. -I ../../../../src/libsanitizer/include -isystem ../../../../src/libsanitizer/include/system -Wall -W -Wno-unused-parameter -Wwrite-strings -pedantic -Wno-long-long -fPIC -fno-builtin -fno-exceptions -fno-rtti -fomit-frame-pointer -funwind-tables -fvisibility=hidden -Wno-variadic-macros -I../../libstdc++-v3/include -I../../libstdc++-v3/include/arm-linux-gnueabihf -I../../../../src/libsanitizer/../libstdc++-v3/libsupc++ -std=gnu++11 -DSANITIZER_LIBBACKTRACE -DSANITIZER_CP_DEMANGLE -I ../../../../src/libsanitizer/../libbacktrace -I ../libbacktrace -I ../../../../src/libsanitizer/../include -include ../../../../src/libsanitizer/libbacktrace/backtrace-rename.h -g -O2 -D_GNU_SOURCE -MT sanitizer_deadlock_detector1.lo -MD -MP -MF .deps/sanitizer_deadlock_detector1.Tpo -c ../../../../src/libsanitizer/sanitizer_common/sanitizer_deadlock_detector1.cc -o sanitizer_deadlock_detector1.o >/dev/null 2>&1
0x6034ef crash_signal
../../src/gcc/toplev.c:383
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <file:///usr/share/doc/gcc-5/README.Bugs> for instructions.
The bug is not reproducible, so it is likely a hardware or OS
problem.
Makefile:583: recipe for target 'core/thread.o' failed
make[6]: *** [core/thread.o] Error 1
make[6]: Leaving directory
'/«PKGBUILDDIR»/build/arm-linux-gnueabihf/libphobos/libdruntime'
Makefile:395: recipe for target 'all-recursive' failed
make[5]: *** [all-recursive] Error 1
make[5]: Leaving directory
'/«PKGBUILDDIR»/build/arm-linux-gnueabihf/libphobos'
Makefile:314: recipe for target 'all' failed
make[4]: *** [all] Error 2
make[4]: Leaving directory
'/«PKGBUILDDIR»/build/arm-linux-gnueabihf/libphobos'
Makefile:18154: recipe for target 'all-target-libphobos' failed
make[3]: *** [all-target-libphobos] Error 2
make[3]: *** Waiting for unfinished jobs....
Despite the assertion in the error message that "The bug is not
reproducible, so it is likely a hardware or OS problem." I have
got substatailly the same error in a total of 5 build attempts
across four versions of the Debian gcc-5 source.
Anyone seen anything like this before? anyone here care about gdc
in raspbian and want to assist in finding a root cause and a
patch for this?
To fix the immediate problem I disabled gdc in the gcc-5 source
package and modified gcc-defaults to revert the default gdc
version to 4.9 but I do not know how long it will be feasible to
maintain that workaround for and so if no fix is forthcoming our
only remaining option may be to remove gdc and it's reverse
dependencies from Raspbian stretch.
More information about the D.gnu
mailing list