debian/rules2 runs the libstdc++-v3 testsuite against the *installed* library
This fails for me when building gnat-4.6:
make[1]: Entering directory `/home/lbrenta/src/debian/gnat-4.6-4.6.3'
rm -f test-protocol
chmod 755 /home/lbrenta/src/debian/gnat-4.6-4.6.3/src/contrib/test_summary
: # libstdc++6 built from newer gcc-4.x source, run testsuite against the installed lib
sed 's/-L[^ ]*//g' /home/lbrenta/src/debian/gnat-4.6-4.6.3/build/x86_64-linux-gnu/libstdc++-v3/scripts/testsuite_flags \
> /home/lbrenta/src/debian/gnat-4.6-4.6.3/build/x86_64-linux-gnu/libstdc++-v3/scripts/testsuite_flags.installed
/bin/bash: /home/lbrenta/src/debian/gnat-4.6-4.6.3/build/x86_64-linux-gnu/libstdc++-v3/scripts/testsuite_flags.installed: No such file or directory
make[1]: *** [stamps/06-check-stamp] Error 1
In debian/rules2 I see:
ifneq ($(with_common_libs),yes)
: # libstdc++6 built from newer gcc-4.x source, run testsuite against the installed lib
sed 's/-L[^ ]*//g' $(buildlibdir)/libstdc++-v3/scripts/testsuite_flags \
> $(buildlibdir)/libstdc++-v3/scripts/testsuite_flags.installed
The 'sed' line is the one that fails. I am not building libstdc++, so I
don't have the $(buildlibdir)/libstdc++-v3/ directory at all.
I can understand there is some value in running all versions of the
testsuite (from gcc-4.*) against the installed library (now built from
gcc-4.7 only) but there appears to be no place where we run the
testsuite against the *just-built* library. Is this intentional?
Also, the test "ifneq ($(with_common_libs),yes)" seems entirely wrong to
me. When with_common_libs = yes, we are not running the testsuite, even
if we build it; when with_common_libs = no, we are assuming that we just
built the libstdc++ and we run the testsuite against another version of
the library. Should the test not be, simply, "ifeq
($(with_libcxx),yes)"?
--
Ludovic Brenta.
Reply to: