The gnat testsuite tests the installed compiler, not the built compiler
I noticed something very strange: if WITHOUT_CHECK is unset in the
environment, invoking dpkg-buildpackage for gnat runs the test suite
using dejagnu. The compiler being tested is the installed gnat-4.1
bootstrap compiler, not the just built gnat-4.2, as evidenced by the
detailed log file, build/gcc/testsuite/gnat/gnat.log:
Test Run By lbrenta on Wed Jul 18 22:45:16 2007
Native configuration is x86_64-pc-linux-gnu
=== gnat tests ===
Schedule of variations:
Running target unix
Using /usr/share/dejagnu/baseboards/unix.exp as board description file for target.
Using /usr/share/dejagnu/config/unix.exp as generic interface file for target.
Using /home/lbrenta/src/debian/ram/gnat-4.2-4.2-20070712/src/gcc/testsuite/config/default.exp as tool-and-target-specific interface file.
Running /home/lbrenta/src/debian/ram/gnat-4.2-4.2-20070712/src/gcc/testsuite/gnat.dg/dg.exp ...
Executing on host: gnatmake -q -f /home/lbrenta/src/debian/ram/gnat-4.2-4.2-20070712/src/gcc/testsuite/gnat.dg/address_conversion.adb -O2 -I/home/lbrenta/src/debian/ram/gnat-4.2-4.2-20070712/build/gcc/ada/rts -lm -o ./address_conversion.exe (timeout = 300)
gcc-4.1: -lm: linker input file unused because linking not done
fatal error: file s-stalib.ali is incorrectly formatted
make sure you are using consistent versions of gcc-4.1/gnatbind
11. R nnvnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnvnnnnnnnnvnnnnnvnnvnnnnnnnnnnnnnnn
gnatmake: *** bind failed.
compiler exited with status 1
Note the unqualified call to "gnatmake", which resolves to
/usr/bin/gnatmake, i.e. gnat-4.1.
Even when WITHOUT_CHECK is set, I can reproduce this consistently with
$ debian/rules build
$ make -C build/gcc check-gnat
Why is that? What should I be doing?
The real problem is that when building official packages, I end up
shipping misleading test results as part of the gnat-4.2-base package.