On Tue, Nov 1, 2022 at 3:41 PM Martin Ågren <martin.agren@xxxxxxxxx> wrote: > On Tue, 1 Nov 2022 at 20:05, Martin Ågren <martin.agren@xxxxxxxxx> wrote: > > > There is no real test error output, but we can identify, that it is > > > happening in the test part with check-chainlint. > > > > > [ 387s] make[1]: *** [Makefile:83: check-chainlint] Error 1 > > On further reading, it appears this error happens in the > "check-chainlint" target without even checking this environment variable > (that happens elsewhere). I doubt my original suggestion will be a > complete workaround. > > One approach might be to patch the "check-chainlint" target into a > no-op, possibly combined with turning off the chainlinting as I > mentioned above. My makefile-foo is unfortunately not sufficiently > advanced to immediately spot what might be going on here. > > At any rate, all of the above is just about working around the issue. As > for a proper fix, let's hope someone like Eric can chime in. Makefile-foo or not, there isn't much to go on here since the `make` output doesn't show the actual problem. Squinting at the `check-chainlint` target in "t/Makefile", I wonder if the problem is with the line-splicing and missing command termination; that is, it could just be a shell syntax error which is picked up by more strict shells such as `dash`. In particular, in this hunk of code: { \ echo "# chainlint: $(CHAINLINTTMP_SQ)/tests" && \ for i in $(CHAINLINTTESTS); do \ echo "# chainlint: $$i" && \ sed -e '/^[ ]*$$/d' chainlint/$$i.expect; \ done \ } >'$(CHAINLINTTMP_SQ)'/expect && \ if you add a semicolon after `done` like this: done; \ does that fix the problem? If not, then you may want to remove the "@" from the "@mkdir -p ..." in the body of the `check-chainlint` rule in t/Makefile so that `make` will print out the actual command(s) it is running, and then invoke the target manually with `make -C t check-chainlint`. With the actual commands visible, copy/paste in the terminal to run each command individually and check the exit status $? after each command invocation to find which, if any, is failing.