gdc in raspbian stretch.

Iain Buclaw via D.gnu d.gnu at puremagic.com
Thu Jun 18 15:00:54 PDT 2015


On 17 June 2015 at 08:10, Iain Buclaw <ibuclaw at gdcproject.org> wrote:

> 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.
>
I cannot reproduce this on upstream HEAD.  I will get in touch with
Matthias and request to pull in updates for the next round of stable gcc
version releases.  If you still exhibit the problem after updating, I can
only conclude that there is something wrong either with your build
environment, or the way that you have patched gcc and/or gdc in Debian.

Regards
Iain
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/d.gnu/attachments/20150619/cdaaea0e/attachment-0001.html>


More information about the D.gnu mailing list