Re: git can not be built for s390x since update to git-2.38.0

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux