{"thread":{"id":"58732","subject":"git can not be built for s390x since update to git-2.38.0","startedAt":"2022-11-01T18:12:18Z","lastAt":"2022-11-02T18:51:11Z","messageCount":6,"participants":["Sarah Julia Kriesch","Martin Ågren","Taylor Blau","Eric Sunshine","Todd Zullinger"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"466205","messageId":"f1a5f758-d81f-5985-9b5d-2f0dbfaac071@opensuse.org","threadId":"58732","inReplyTo":null,"subject":"git can not be built for s390x since update to git-2.38.0","fromName":"Sarah Julia Kriesch","fromEmail":"sarah.kriesch@opensuse.org","sentAt":"2022-11-01T18:04:37Z","receivedAt":"2022-11-01T18:12:18Z","isPatch":false,"sender":{"key":"sarah.kriesch@opensuse.org","avatar":null},"body":"I am one of the zsystems Maintainers (s390x architecture) at openSUSE \nand git can not be built any more since the update from 2.37.3 to \n2.38.0, and with 2.38.1 afterwards. We have tried to debug it.\n\nThere is no real test error output, but we can identify, that it is \nhappening in the test part with check-chainlint.\n\n[  386s] + ./.make -j2 test\n[  386s] /usr/bin/make -C git-gui  gitexecdir='/usr/libexec/git' all\n[  387s] /usr/bin/make -C gitk-git  all\n[  387s] /usr/bin/make -C templates  SHELL_PATH='/bin/sh' \nPERL_PATH='/usr/bin/perl'\n[  387s] make[1]: Entering directory \n'/home/abuild/rpmbuild/BUILD/git-2.38.1/templates'\n[  387s] : no custom templates yet\n[  387s] make[1]: Leaving directory \n'/home/abuild/rpmbuild/BUILD/git-2.38.1/templates'\n[  387s] /usr/bin/make -C t/ all\n[  387s] make[1]: Entering directory \n'/home/abuild/rpmbuild/BUILD/git-2.38.1/t'\n[  387s] rm -f -r 'test-results'\n[  387s] make[1]: Leaving directory \n'/home/abuild/rpmbuild/BUILD/git-2.38.1/t'\n[  387s] make[1]: Entering directory \n'/home/abuild/rpmbuild/BUILD/git-2.38.1/t'\n[  387s] make[1]: *** [Makefile:83: check-chainlint] Error 1\n[  387s] make[1]: Leaving directory \n'/home/abuild/rpmbuild/BUILD/git-2.38.1/t'\n[  387s] make[1]: *** Waiting for unfinished jobs....\n[  388s] make: *** [Makefile:3075: test] Error 2\n[  388s] error: Bad exit status from /var/tmp/rpm-tmp.ztqAAp (%check)\n[  388s]\n\nWe figured out, that the perl script have been changed there in the last \nmonth.\nI have to give the hint, that all versions of openSUSE for s390x are \naffected by this build failure. Builds are working for the other \narchitectures.\n\nHow can we fix this issue?\n\n-- \nSarah Julia Kriesch\nopenSUSE\n"},{"id":"466208","messageId":"CAN0heSryxTbJXrRs7-aCNb6u9qXJnYjX7++Ji8jd=YeYTJfoaA@mail.gmail.com","threadId":"58732","inReplyTo":"f1a5f758-d81f-5985-9b5d-2f0dbfaac071@opensuse.org","subject":"Re: git can not be built for s390x since update to git-2.38.0","fromName":"Martin Ågren","fromEmail":"martin.agren@gmail.com","sentAt":"2022-11-01T19:05:36Z","receivedAt":"2022-11-01T19:05:52Z","isPatch":false,"sender":{"key":"martin.agren@gmail.com","avatar":null},"body":"Hi Sarah,\n\nOn Tue, 1 Nov 2022 at 19:38, Sarah Julia Kriesch\n<sarah.kriesch@opensuse.org> wrote:\n>\n> I am one of the zsystems Maintainers (s390x architecture) at openSUSE\n> and git can not be built any more since the update from 2.37.3 to\n> 2.38.0, and with 2.38.1 afterwards. We have tried to debug it.\n>\n> There is no real test error output, but we can identify, that it is\n> happening in the test part with check-chainlint.\n\n> [  387s] make[1]: *** [Makefile:83: check-chainlint] Error 1\n> [  387s] make[1]: Leaving directory\n> '/home/abuild/rpmbuild/BUILD/git-2.38.1/t'\n> [  387s] make[1]: *** Waiting for unfinished jobs....\n> [  388s] make: *** [Makefile:3075: test] Error 2\n> [  388s] error: Bad exit status from /var/tmp/rpm-tmp.ztqAAp (%check)\n\n> How can we fix this issue?\n\nYou can disable this feature by setting the GIT_TEST_CHAIN_LINT\nenvironment variable to \"0\". That should hopefully allow you to run the\ntests successfully.\n\nThat shouldn't risk you anything, like reduce test coverage or similar.\nThat the tests are chainlint-ok (roughly speaking, that they are written\nthe way the Git project likes its tests) has already been established by\nmany others at this point.\n\nI'm cc-ing the resident chainlint expert.\n\nMartin\n"},{"id":"466209","messageId":"Y2F1u5KJTH+f4CMF@nand.local","threadId":"58732","inReplyTo":"CAN0heSryxTbJXrRs7-aCNb6u9qXJnYjX7++Ji8jd=YeYTJfoaA@mail.gmail.com","subject":"Re: git can not be built for s390x since update to git-2.38.0","fromName":"Taylor Blau","fromEmail":"me@ttaylorr.com","sentAt":"2022-11-01T19:38:35Z","receivedAt":"2022-11-01T19:38:43Z","isPatch":false,"sender":{"key":"me@ttaylorr.com","avatar":"https://avatars.githubusercontent.com/u/301000140?v=4"},"body":"On Tue, Nov 01, 2022 at 08:05:36PM +0100, Martin Ågren wrote:\n> > How can we fix this issue?\n>\n> You can disable this feature by setting the GIT_TEST_CHAIN_LINT\n> environment variable to \"0\". That should hopefully allow you to run the\n> tests successfully.\n\nIndeed. It would be nice to get some more helpful output from the\nchainlint machinery when whatever is happening here happens.\n\nI've never not had chainlint output when I was expecting it (and, I\noften get chainlint output when I'm *not* expecting any ;-)), so I\nwonder what is going on here.\n\nThanks,\nTaylor\n"},{"id":"466210","messageId":"CAN0heSoc+jKxseyyR-=8+ATc8rdY5UyFWZPepaQsGn9m+Hpfmg@mail.gmail.com","threadId":"58732","inReplyTo":"CAN0heSryxTbJXrRs7-aCNb6u9qXJnYjX7++Ji8jd=YeYTJfoaA@mail.gmail.com","subject":"Re: git can not be built for s390x since update to git-2.38.0","fromName":"Martin Ågren","fromEmail":"martin.agren@gmail.com","sentAt":"2022-11-01T19:41:43Z","receivedAt":"2022-11-01T19:41:58Z","isPatch":false,"sender":{"key":"martin.agren@gmail.com","avatar":null},"body":"On Tue, 1 Nov 2022 at 20:05, Martin Ågren <martin.agren@gmail.com> wrote:\n>\n> Hi Sarah,\n>\n> On Tue, 1 Nov 2022 at 19:38, Sarah Julia Kriesch\n> <sarah.kriesch@opensuse.org> wrote:\n> >\n> > I am one of the zsystems Maintainers (s390x architecture) at openSUSE\n> > and git can not be built any more since the update from 2.37.3 to\n> > 2.38.0, and with 2.38.1 afterwards. We have tried to debug it.\n> >\n> > There is no real test error output, but we can identify, that it is\n> > happening in the test part with check-chainlint.\n>\n> > [  387s] make[1]: *** [Makefile:83: check-chainlint] Error 1\n> > [  387s] make[1]: Leaving directory\n> > '/home/abuild/rpmbuild/BUILD/git-2.38.1/t'\n> > [  387s] make[1]: *** Waiting for unfinished jobs....\n> > [  388s] make: *** [Makefile:3075: test] Error 2\n> > [  388s] error: Bad exit status from /var/tmp/rpm-tmp.ztqAAp (%check)\n>\n> > How can we fix this issue?\n>\n> You can disable this feature by setting the GIT_TEST_CHAIN_LINT\n> environment variable to \"0\". That should hopefully allow you to run the\n> tests successfully.\n>\n> That shouldn't risk you anything, like reduce test coverage or similar.\n> That the tests are chainlint-ok (roughly speaking, that they are written\n> the way the Git project likes its tests) has already been established by\n> many others at this point.\n\nOn further reading, it appears this error happens in the\n\"check-chainlint\" target without even checking this environment variable\n(that happens elsewhere). I doubt my original suggestion will be a\ncomplete workaround.\n\nOne approach might be to patch the \"check-chainlint\" target into a\nno-op, possibly combined with turning off the chainlinting as I\nmentioned above. My makefile-foo is unfortunately not sufficiently\nadvanced to immediately spot what might be going on here.\n\nAt any rate, all of the above is just about working around the issue. As\nfor a proper fix, let's hope someone like Eric can chime in.\n\nMartin\n"},{"id":"466222","messageId":"CAPig+cS184iKk6icG6ML=X+6Ng=fJyfic8izFyp1hT40cChm4g@mail.gmail.com","threadId":"58732","inReplyTo":"CAN0heSoc+jKxseyyR-=8+ATc8rdY5UyFWZPepaQsGn9m+Hpfmg@mail.gmail.com","subject":"Re: git can not be built for s390x since update to git-2.38.0","fromName":"Eric Sunshine","fromEmail":"sunshine@sunshineco.com","sentAt":"2022-11-01T22:03:16Z","receivedAt":"2022-11-01T22:03:33Z","isPatch":false,"sender":{"key":"sunshine@sunshineco.com","avatar":"https://avatars.githubusercontent.com/u/163641?v=4"},"body":"On Tue, Nov 1, 2022 at 3:41 PM Martin Ågren <martin.agren@gmail.com> wrote:\n> On Tue, 1 Nov 2022 at 20:05, Martin Ågren <martin.agren@gmail.com> wrote:\n> > > There is no real test error output, but we can identify, that it is\n> > > happening in the test part with check-chainlint.\n> >\n> > > [  387s] make[1]: *** [Makefile:83: check-chainlint] Error 1\n>\n> On further reading, it appears this error happens in the\n> \"check-chainlint\" target without even checking this environment variable\n> (that happens elsewhere). I doubt my original suggestion will be a\n> complete workaround.\n>\n> One approach might be to patch the \"check-chainlint\" target into a\n> no-op, possibly combined with turning off the chainlinting as I\n> mentioned above. My makefile-foo is unfortunately not sufficiently\n> advanced to immediately spot what might be going on here.\n>\n> At any rate, all of the above is just about working around the issue. As\n> for a proper fix, let's hope someone like Eric can chime in.\n\nMakefile-foo or not, there isn't much to go on here since the `make`\noutput doesn't show the actual problem. Squinting at the\n`check-chainlint` target in \"t/Makefile\", I wonder if the problem is\nwith the line-splicing and missing command termination; that is, it\ncould just be a shell syntax error which is picked up by more strict\nshells such as `dash`. In particular, in this hunk of code:\n\n    { \\\n        echo \"# chainlint: $(CHAINLINTTMP_SQ)/tests\" && \\\n        for i in $(CHAINLINTTESTS); do \\\n            echo \"# chainlint: $$i\" && \\\n            sed -e '/^[   ]*$$/d' chainlint/$$i.expect; \\\n        done \\\n    } >'$(CHAINLINTTMP_SQ)'/expect && \\\n\nif you add a semicolon after `done` like this:\n\n    done; \\\n\ndoes that fix the problem?\n\nIf not, then you may want to remove the \"@\" from the \"@mkdir -p ...\"\nin the body of the `check-chainlint` rule in t/Makefile so that `make`\nwill print out the actual command(s) it is running, and then invoke\nthe target manually with `make -C t check-chainlint`. With the actual\ncommands visible, copy/paste in the terminal to run each command\nindividually and check the exit status $? after each command\ninvocation to find which, if any, is failing.\n"},{"id":"466328","messageId":"Y2K7zXDLfJhf/i4y@pobox.com","threadId":"58732","inReplyTo":"f1a5f758-d81f-5985-9b5d-2f0dbfaac071@opensuse.org","subject":"Re: git can not be built for s390x since update to git-2.38.0","fromName":"Todd Zullinger","fromEmail":"tmz@pobox.com","sentAt":"2022-11-02T18:49:49Z","receivedAt":"2022-11-02T18:51:11Z","isPatch":false,"sender":{"key":"tmz@pobox.com","avatar":"https://avatars.githubusercontent.com/u/806319?v=4"},"body":"Sarah Julia Kriesch wrote:\n> I am one of the zsystems Maintainers (s390x architecture) at openSUSE and\n> git can not be built any more since the update from 2.37.3 to 2.38.0, and\n> with 2.38.1 afterwards. We have tried to debug it.\n\nI don't know if it's of much help, but for what it's worth\n2.38.0 and 2.38.1 been built in Fedora for s390x without\nissue.  Build logs and artifacts for 2.38.1 can be found\nhere:\n\n    https://koji.fedoraproject.org/koji/buildinfo?buildID=2077983\n\n-- \nTodd\n"}]}