Re: git can not be built for s390x since update to git-2.38.0
- From
Eric Sunshine <sunshine@sunshineco.com>
- Date
- Nov 1, 2022, 22:03 UTC
- Message-ID
- <CAPig+cS184iKk6icG6ML=X+6Ng=fJyfic8izFyp1hT40cChm4g@mail.gmail.com>
- In-Reply-To
- <CAN0heSoc+jKxseyyR-=8+ATc8rdY5UyFWZPepaQsGn9m+Hpfmg@mail.gmail.com>
On Tue, Nov 1, 2022 at 3:41 PM Martin Ågren <martin.agren@gmail.com> wrote:
Show 18 quoted lines
> On Tue, 1 Nov 2022 at 20:05, Martin Ågren <martin.agren@gmail.com> 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.