gdc in raspbian stretch.

Iain Buclaw via D.gnu d.gnu at puremagic.com
Tue Jun 16 23:10:27 PDT 2015


On 17 Jun 2015 02:50, "Peter Green via D.gnu" <d.gnu at puremagic.com> wrote:
>
> 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/../libba!
> cktrace -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.

Is it possible to get a backtrace on the particular crash?  The compiler
frontend is aborting because the 'type' parameter in the IntegerExp
constructor is a null pointer.   However, that does not make sense as all
basic types and aliases should have been allocated before compilation began.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/d.gnu/attachments/20150617/d43601b3/attachment-0001.html>


More information about the D.gnu mailing list