* [gdbadmin@sourceware.org: make-snapshot gdb current failed]
@ 2021-07-07 2:20 Joel Brobecker
2021-07-07 3:04 ` Simon Marchi via Gdb-patches
0 siblings, 1 reply; 6+ messages in thread
From: Joel Brobecker @ 2021-07-07 2:20 UTC (permalink / raw)
To: Simon Marchi; +Cc: Joel Brobecker, gdb-patches
[-- Attachment #1: Type: text/plain, Size: 1028 bytes --]
Hey Simon,
Please do not investigate if you can't see why your patch could be
related to this, but I thought I'd ask you what you thought before
I dive it myself (I've just had a very long day...).
I just got the attached report from our nightly source package script.
Do you think your patch ...
| commit 8043d65ba257c3f1ab08e2cce6a1b005923c17cb
| Author: Simon Marchi <simon.marchi@polymtl.ca>
| Date: Tue Jul 6 14:54:29 2021 -0400
| Subject: gdb/testsuite: restore configure script
Might be the cause of it?
The log is not super helpful, but it looks like it's maybe failing
during a "make distclean". Perhaps the key is this message?
| Missing testsuite/Makefile
If it doesn't ring a bell, please feel free to let me isolate
and reproduce the problem, so I can at least provide more details.
Those nightly scripts are a real pain to follow, as they are
multilayered and love to make things so generic as always being
a pure headache in figuring out exactly what they do in practice...
--
Joel
[-- Attachment #2: Type: message/rfc822, Size: 7429 bytes --]
From: GDB Administrator <gdbadmin@sourceware.org>
To: brobecke@sourceware.org
Subject: make-snapshot gdb current failed
Date: Wed, 07 Jul 2021 01:50:22 +0000
Message-ID: <20210707015022.83B2A385743E@sourceware.org>
rm -f init.c stamp-init version.c stamp-version
rm -f gdb core make.log
rm -f gdb[0-9]
rm -f test-cp-name-parser
rm -f xml-builtin.c stamp-xml
rm -f .deps/*
for i in arch cli dwarf2 mi compile tui unittests guile python target nat; do \
rm -f $i/*.o; \
rm -f $i/.deps/*; \
done
make[3]: Entering directory '/sourceware1/snapshot-tmp/gdb/snapshot/current-gdb/make-snapshot/src/gdb'
make[4]: Entering directory '/sourceware1/snapshot-tmp/gdb/snapshot/current-gdb/make-snapshot/src/gdb/doc'
rm -f gdb.mm gdb.ms gdb.me links2roff
rm -f gdb.aux gdb.cp* gdb.fn* gdb.ky* gdb.log gdb.pg* gdb.toc gdb.tp* gdb.vr*
rm -f stabs.aux stabs.cp* stabs.fn* stabs.ky* stabs.log stabs.pg* stabs.toc stabs.tp* stabs.vr*
rm -f annotate.aux annotate.cp* annotate.fn* annotate.ky* annotate.log annotate.pg* annotate.toc annotate.tp* annotate.vr*
rm -f sedref.dvi sedref.tex tmp.sed
rm -f gdb-cfg.texi
rm -f Makefile
make[4]: Leaving directory '/sourceware1/snapshot-tmp/gdb/snapshot/current-gdb/make-snapshot/src/gdb/doc'
make[4]: Entering directory '/sourceware1/snapshot-tmp/gdb/snapshot/current-gdb/make-snapshot/src/gdb/testsuite'
rm -f *~ core *.o a.out xgdb *.x *.grt bigcore.corefile .gdb_history
rm -f core.* *.tf *.cl tracecommandsscript copy1.txt zzz-gdbscript
rm -f *.dwo *.dwp
rm -rf outputs temp cache
rm -rf gdb.perf/workers gdb.perf/outputs gdb.perf/temp gdb.perf/cache
rm -f read1.so expect-read1
rm -f *~ core
rm -f Makefile config.status *-init.exp
rm -fr *.log summary detail *.plog *.sum *.psum site.*
make[4]: Leaving directory '/sourceware1/snapshot-tmp/gdb/snapshot/current-gdb/make-snapshot/src/gdb/testsuite'
make[4]: Entering directory '/sourceware1/snapshot-tmp/gdb/snapshot/current-gdb/make-snapshot/src/gdb/data-directory'
rm -rf syscalls
rm -f stamp-syscalls
rm -rf python
rm -f stamp-python
rm -rf guile
rm -f stamp-guile
rm -rf system-gdbinit
rm -f stamp-system-gdbinit
rm -f Makefile
make[4]: Leaving directory '/sourceware1/snapshot-tmp/gdb/snapshot/current-gdb/make-snapshot/src/gdb/data-directory'
Missing testsuite/Makefile
make[3]: *** [Makefile:1969: subdir_do] Error 1
make[3]: Leaving directory '/sourceware1/snapshot-tmp/gdb/snapshot/current-gdb/make-snapshot/src/gdb'
make[2]: *** [Makefile:1936: distclean] Error 2
make[2]: Leaving directory '/sourceware1/snapshot-tmp/gdb/snapshot/current-gdb/make-snapshot/src/gdb'
make[1]: *** [Makefile:10438: distclean-gdb] Error 1
make[1]: Leaving directory '/sourceware1/snapshot-tmp/gdb/snapshot/current-gdb/make-snapshot/src'
make: *** [Makefile:1964: do-distclean] Error 2
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [gdbadmin@sourceware.org: make-snapshot gdb current failed]
2021-07-07 2:20 [gdbadmin@sourceware.org: make-snapshot gdb current failed] Joel Brobecker
@ 2021-07-07 3:04 ` Simon Marchi via Gdb-patches
2021-07-07 13:20 ` [PATCH master + 11] gdb/Makefile.in: remove testsuite from SUBDIRS Simon Marchi via Gdb-patches
2021-07-07 17:58 ` [gdbadmin@sourceware.org: make-snapshot gdb current failed] Joel Brobecker
0 siblings, 2 replies; 6+ messages in thread
From: Simon Marchi via Gdb-patches @ 2021-07-07 3:04 UTC (permalink / raw)
To: Joel Brobecker; +Cc: gdb-patches
On 2021-07-06 10:20 p.m., Joel Brobecker wrote:
> Hey Simon,
>
> Please do not investigate if you can't see why your patch could be
> related to this, but I thought I'd ask you what you thought before
> I dive it myself (I've just had a very long day...).
>
> I just got the attached report from our nightly source package script.
> Do you think your patch ...
>
> | commit 8043d65ba257c3f1ab08e2cce6a1b005923c17cb
> | Author: Simon Marchi <simon.marchi@polymtl.ca>
> | Date: Tue Jul 6 14:54:29 2021 -0400
> | Subject: gdb/testsuite: restore configure script
>
> Might be the cause of it?
>
> The log is not super helpful, but it looks like it's maybe failing
> during a "make distclean". Perhaps the key is this message?
>
> | Missing testsuite/Makefile
>
> If it doesn't ring a bell, please feel free to let me isolate
> and reproduce the problem, so I can at least provide more details.
> Those nightly scripts are a real pain to follow, as they are
> multilayered and love to make things so generic as always being
> a pure headache in figuring out exactly what they do in practice...
>
In the generated gdb/Makefile, I see:
SUBDIRS = doc testsuite data-directory testsuite
So what likely happens is that it tries to run distclean twice in
testsuite. The second time around, the Makefile in there doesn't exist.
In Makefile.in, it looks like this:
SUBDIRS = doc @subdirs@ data-directory testsuite
So the first testsuite comes from the AC_CONFIG_SUBDIRS macro in
configure.ac, and the second is hardcoded. The second one should be
removed. I missed it because it was not added by the patch that removed
testsuite/configure, it was added later.
I'll write / test / send a patch tomorrow.
Simon
^ permalink raw reply [flat|nested] 6+ messages in thread* [PATCH master + 11] gdb/Makefile.in: remove testsuite from SUBDIRS
2021-07-07 3:04 ` Simon Marchi via Gdb-patches
@ 2021-07-07 13:20 ` Simon Marchi via Gdb-patches
2021-07-07 17:58 ` [gdbadmin@sourceware.org: make-snapshot gdb current failed] Joel Brobecker
1 sibling, 0 replies; 6+ messages in thread
From: Simon Marchi via Gdb-patches @ 2021-07-07 13:20 UTC (permalink / raw)
To: gdb-patches
When distclean-ing a configured / built gdb directory, like so:
$ ./configure && make all-gdb && make distclean
The distclean operation fails with:
Missing testsuite/Makefile
If we look at the SUBDIRS variable in the generated gdb/Makefile,
testsuite is there twice:
SUBDIRS = doc testsuite data-directory testsuite
So we try distclean-ing the testsuite directory twice. The second time,
gdb/testsuite/Makefile doesn't exist, so it fails.
The first "testsuite" comes from the @subdirs@ replacement, because of
the `AC_CONFIG_SUBDIRS` macro in gdb/configure.ac. The second one is
hard-coded in gdb/Makefile.in:
SUBDIRS = doc @subdirs@ data-directory testsuite
The hard-coded was added by:
bdbbcd577460 ("Always build 'all' in gdb/testsuite")
which came after `testsuite` was removed from @subdirs@ by:
f99d1d37496f ("Remove gdb/testsuite/configure")
My commit a100a94530eb ("gdb/testsuite: restore configure script")
should have removed the hard-coded `testsuite`, since it added it back
as a "subdir", but I missed it because I only looked f99d1d37496f to
write my patch.
Fix this by removing the hard-coded one.
This patch should be pushed to both master and gdb-11-branch, hence the
ChangeLog entry:
gdb/ChangeLog:
* Makefile.in (SUBDIRS): Remove testsuite.
Change-Id: I63e5590b1a08673c646510b3ecc74600eae9f92d
---
gdb/Makefile.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gdb/Makefile.in b/gdb/Makefile.in
index 1bc97885536e..53beb3ab2542 100644
--- a/gdb/Makefile.in
+++ b/gdb/Makefile.in
@@ -1591,7 +1591,7 @@ COMMON_OBS = $(DEPFILES) $(CONFIG_OBS) $(YYOBJ) \
$(SUBDIR_TARGET_OBS) \
$(SUBDIR_GCC_COMPILE_OBS)
-SUBDIRS = doc @subdirs@ data-directory testsuite
+SUBDIRS = doc @subdirs@ data-directory
CLEANDIRS = $(SUBDIRS)
# List of subdirectories in the build tree that must exist.
--
2.32.0
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [gdbadmin@sourceware.org: make-snapshot gdb current failed]
2021-07-07 3:04 ` Simon Marchi via Gdb-patches
2021-07-07 13:20 ` [PATCH master + 11] gdb/Makefile.in: remove testsuite from SUBDIRS Simon Marchi via Gdb-patches
@ 2021-07-07 17:58 ` Joel Brobecker
2021-07-08 14:02 ` Simon Marchi via Gdb-patches
1 sibling, 1 reply; 6+ messages in thread
From: Joel Brobecker @ 2021-07-07 17:58 UTC (permalink / raw)
To: Simon Marchi; +Cc: gdb-patches, Joel Brobecker
> In the generated gdb/Makefile, I see:
>
> SUBDIRS = doc testsuite data-directory testsuite
>
> So what likely happens is that it tries to run distclean twice in
> testsuite. The second time around, the Makefile in there doesn't exist.
>
> In Makefile.in, it looks like this:
>
> SUBDIRS = doc @subdirs@ data-directory testsuite
>
> So the first testsuite comes from the AC_CONFIG_SUBDIRS macro in
> configure.ac, and the second is hardcoded. The second one should be
> removed. I missed it because it was not added by the patch that removed
> testsuite/configure, it was added later.
>
> I'll write / test / send a patch tomorrow.
Nice find. Thanks Simon.
--
Joel
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [gdbadmin@sourceware.org: make-snapshot gdb current failed]
2021-07-07 17:58 ` [gdbadmin@sourceware.org: make-snapshot gdb current failed] Joel Brobecker
@ 2021-07-08 14:02 ` Simon Marchi via Gdb-patches
2021-07-08 15:10 ` Joel Brobecker
0 siblings, 1 reply; 6+ messages in thread
From: Simon Marchi via Gdb-patches @ 2021-07-08 14:02 UTC (permalink / raw)
To: Joel Brobecker; +Cc: gdb-patches
On 2021-07-07 1:58 p.m., Joel Brobecker wrote:
>> In the generated gdb/Makefile, I see:
>>
>> SUBDIRS = doc testsuite data-directory testsuite
>>
>> So what likely happens is that it tries to run distclean twice in
>> testsuite. The second time around, the Makefile in there doesn't exist.
>>
>> In Makefile.in, it looks like this:
>>
>> SUBDIRS = doc @subdirs@ data-directory testsuite
>>
>> So the first testsuite comes from the AC_CONFIG_SUBDIRS macro in
>> configure.ac, and the second is hardcoded. The second one should be
>> removed. I missed it because it was not added by the patch that removed
>> testsuite/configure, it was added later.
>>
>> I'll write / test / send a patch tomorrow.
>
> Nice find. Thanks Simon.
>
Thanks, I took that as an approval, so I pushed the patch to master and
gdb-11-branch (with ChangeLog entry).
Simon
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2021-07-08 15:28 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-07 2:20 [gdbadmin@sourceware.org: make-snapshot gdb current failed] Joel Brobecker
2021-07-07 3:04 ` Simon Marchi via Gdb-patches
2021-07-07 13:20 ` [PATCH master + 11] gdb/Makefile.in: remove testsuite from SUBDIRS Simon Marchi via Gdb-patches
2021-07-07 17:58 ` [gdbadmin@sourceware.org: make-snapshot gdb current failed] Joel Brobecker
2021-07-08 14:02 ` Simon Marchi via Gdb-patches
2021-07-08 15:10 ` Joel Brobecker
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox