Post by Rob SavoyeAs a note, all the builders we use for binary releases run Trusty still. I
haven't tried Jessie (should work fine),
but I know that newer Mingw releases fail to compile GCC 5.x.
In the weekly status meeting, Maxim and Christophe looked at the Mingw
build jobs, and said that they are running on the Hetzners, which are
running Jessie.
I can confirm that an abe toolchain build on a Debian 8.4 Jessie
machine reproduces the Mingw failures reported in 2073 and 2174. An
abe toolchain build on an Ubuntu 14.04LTS Trusty machine does not
reproduce the same failures. Jessie has a 4.9.1 mingw cross
toolchain. Trusty has a 4.8.2 mingw cross toolchain. This could be a
bug in the gcc-4.9.1 release, or it could be a bug with the debian
jessie build of the mingw toolchain. I haven't tried debugging the
jessie 4.9.1 mingw cross toolchain yet.
I can confirm that an abe toolchain build using -O -g for the gcc
build instead of -O2 -g produces a working toolchain that does not
fail for the 2073 and 2174 testcases. The patch I used for this is
attached. I haven't done any testing other than those testcases, so I
don't know if this is really a good toolchain or not.
FYI While looking at this, I ran into two abe build problems.
1) A mingw toolchain build with --disable update fails with a gdb
configure error saying that Python.h can't be found.
The problem here is that PYTHON_MINGW env var needs to be set in order
to find the python header files. This is set in
checkout_infrastructure. But checkout_infrastructure is not called
when --disable update, so the env var doesn't get set, and the build
fails. The env var should be set somewhere else, or maybe set in both
the checkout and build functions.
2) A mingw toolchain rebuild after a gcc change fails with a
libsanitize error saying the scsi/scsi.h is missing.
The problem here is that the the linux kernel headers-install makefile
rule is run, which installs header files, and also removes header
files that the kernel doesn't think should be there. scsi/scsi.h is
one of the files that is removed, which was installed by glibc. The
glibc install is not redone, because glibc doesn't need to be rebuilt.
Then gcc gets rebuilt, and notices that the scsi/scsi.h file is
missing and fails. This problem can presumably be worked around by
using "---build gcc" on the abe command line, if you know that only
gcc needs to be rebuilt. I didn't reproduce this, or fully
investigate it, so it is possible that there is something else going
on here.
Jim