Re: [LTP] [PATCH 2/6] sched_football: Use atomic for ball

John Stultz via ltp
2024-06-28T18:37:46Z

On Fri, Jun 28, 2024 at 1:12 AM Cyril Hrubis <chrubis@suse.cz> wrote:
> > Ok, but even after doing that as you suggested, building with the
> > following fails for me:
> >
> > make autotools
> > ./configure -C testcases/realtime/
> > make -j
> > ...
> > make[3]: *** No rule to make target 'Makefile.am', needed by
> > 'Makefile.in'. Stop.
> > make[2]: *** [../../include/mk/generic_trunk_target.inc:108: all] Error 2
> > make[1]: *** [../include/mk/generic_trunk_target.inc:108: all] Error 2
> > make: *** [Makefile:85: testcases-all] Error 2
> >
> > So it does *seem* like something is broken. :)
>
> I can't reproduce that and it didn't show up on our CI that builds LTP
> on 16 different distributions.

Interesting. Thanks for checking on this! I appreciate your time in
trying to reproduce it.

> And the error message you get does not make much sense either. The
> Makefile.am file is only referenced in the automake target. It shouldn't
> be referenced from the testcases-all target at all.

So digging further, I think this has to do with some sort of state
from prior to commit a05298ec4494 sticking around and causing problems
in the build.

I had been using both `make clean` and `make distclean` and even `git
clean -f -d` (as I noticed there were often `git status` leftover bits
after the distclean), but even then I would trip the problem above.

But re-checking out a clean repo, I indeed don't hit the problem.

After distcleaning and git clean'ing both, the diffstat looks like:

* A bunch of confXXXXXX directories littering the old tree.
include/config.h.in~ | 656
testcases/kernel/syscalls/delete_module/.dummy_del_mod.o.d | 2
testcases/open_posix_testsuite/autom4te.cache/requests | 102
testcases/open_posix_testsuite/conformance/definitions/mqueue_h/null.o |binary
testcases/open_posix_testsuite/functional/timers/timers/Makefile | 94
testcases/realtime/aclocal.m4 | 1165 -
testcases/realtime/autom4te.cache/output.0
| 7058 ------
testcases/realtime/autom4te.cache/output.1
| 7059 ------
testcases/realtime/autom4te.cache/output.2
| 7058 ------
testcases/realtime/autom4te.cache/requests | 238
testcases/realtime/autom4te.cache/traces.0 | 1020 -
testcases/realtime/autom4te.cache/traces.1 | 491
testcases/realtime/autom4te.cache/traces.2 | 491
testcases/realtime/compile | 348
testcases/realtime/config.guess | 1754 -
testcases/realtime/config.log | 474
testcases/realtime/config.status | 1197 -
testcases/realtime/config.sub | 1890 -
testcases/realtime/configure
| 7059 ------
testcases/realtime/include/realtime_config.h | 70
testcases/realtime/include/realtime_config.h.in | 69
testcases/realtime/include/stamp-h1 | 1
testcases/realtime/install-sh | 541
testcases/realtime/m4/Makefile.in | 411
testcases/realtime/missing | 215

So I'm guessing that leftover testcases/realtime/m4/Makefile.in is the issue.
And I'm guessing the change where I saw things break removed the
realtime dir from AUTOCONFED_SUBDIRS so it wouldn't get cleaned
afterwards if it hadn't been before.

I guess in my bisection I should have done the distclean prior to
switching branches, not first thing after. Or I guess I should have
tried with git clean -x?

Well, apologies for the noise. I greatly appreciate the help resolving this!

thanks
-john