threads / discuss / 58755

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

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

## tl;dr

6 messages between Nov 6, 2022 and Nov 22, 2022.

replies: 5people: 3as markdown or json

Sarah Julia Kriesch· Nov 6, 2022, 18:32 UTC · lore
 > Gesendet: Mittwoch, 02. November 2022 um 19:49 Uhr
 > Von: "Todd Zullinger" <tmz@pobox.com>
 > An: "Sarah Julia Kriesch" <sarah.kriesch@opensuse.org>
 > Cc: git@vger.kernel.org, andreas.stieger@gmx.de
 > Betreff: Re: git can not be built for s390x since update to git-2.38.0
 >
 > Sarah Julia Kriesch wrote:
 > > I am one of the zsystems Maintainers (s390x architecture) at 
openSUSE and
 > > git can not be built any more since the update from 2.37.3 to 
2.38.0, and
 > > with 2.38.1 afterwards. We have tried to debug it.
 >
 > I don't know if it's of much help, but for what it's worth
 > 2.38.0 and 2.38.1 been built in Fedora for s390x without
 > issue.  Build logs and artifacts for 2.38.1 can be found
 > here:
 >
 >     https://koji.fedoraproject.org/koji/buildinfo?buildID=2077983
 >
Thank you for the hint, that it is working for Fedora!
I have compared your spec file with ours and found, that you have got a 
BuildRequires for jgit only for s390x.

That has solved the problem. Is there any special reason, that s390x needs jgit for git builds?

Best regards,
Sarah
 > --
 > Todd
 >
-- 
Sarah Julia Kriesch
openSUSE
Sarah Julia Kriesch· Nov 6, 2022, 19:15 UTC · re: Sarah Julia Kriesch · lore

It seems, that I did a mistake. I thought, that I have tested it based on openSUSE Factory without excluding the tests. It is failing continuously with adding the tests.

I have seen, that Fedora is excluding many tests additionnally for s390x. That is another difference in the spec file: https://src.fedoraproject.org/rpms/git/blob/rawhide/f/git.spec

We have also identified this week, that chainlint.pl --stats says "0 tests". That can explain the empty output.

~/rpmbuild/BUILD/git-2.38.1/t> /usr/bin/perl chainlint.pl --stats --emit-all chainlinttmp/tests total: 0 workers, 0 scripts, 0 tests, 0 errors, 0.01s/0.01s (wall/user)

Best regards, Sarah

Am 06.11.22 um 19:32 schrieb Sarah Julia Kriesch:
Show 27 quoted lines
> > Gesendet: Mittwoch, 02. November 2022 um 19:49 Uhr
> > Von: "Todd Zullinger" <tmz@pobox.com>
> > An: "Sarah Julia Kriesch" <sarah.kriesch@opensuse.org>
> > Cc: git@vger.kernel.org, andreas.stieger@gmx.de
> > Betreff: Re: git can not be built for s390x since update to git-2.38.0
> >
> > Sarah Julia Kriesch wrote:
> > > I am one of the zsystems Maintainers (s390x architecture) at 
> openSUSE and
> > > git can not be built any more since the update from 2.37.3 to 
> 2.38.0, and
> > > with 2.38.1 afterwards. We have tried to debug it.
> >
> > I don't know if it's of much help, but for what it's worth
> > 2.38.0 and 2.38.1 been built in Fedora for s390x without
> > issue.  Build logs and artifacts for 2.38.1 can be found
> > here:
> >
> > https://koji.fedoraproject.org/koji/buildinfo?buildID=2077983
> >
>
>
> Best regards,
> Sarah
> > --
> > Todd
> >
-- 
Sarah Julia Kriesch
openSUSE
Eric Sunshine· Nov 6, 2022, 20:42 UTC · re: Sarah Julia Kriesch · lore

On Sun, Nov 6, 2022 at 2:18 PM Sarah Julia Kriesch <sarah.kriesch@opensuse.org> wrote:

Show 6 quoted lines
> We have also identified this week, that chainlint.pl --stats says "0
> tests". That can explain the empty output.
>
> ~/rpmbuild/BUILD/git-2.38.1/t> /usr/bin/perl chainlint.pl --stats
> --emit-all chainlinttmp/tests
> total: 0 workers, 0 scripts, 0 tests, 0 errors, 0.01s/0.01s (wall/user)

Was `--stats` added for debugging this issue, or is that somehow part of your build process?

What is the content of the "chainlinttmp/tests" file? Is it empty?

It is quite curious that it reports 0 scripts. It should report 1 script even if chainlinttmp/file is empty. This might point a finger at File::Glob::bsd_glob() returning an empty list for some reason, or the problem could be a failure with Perl "ithreads".

Todd Zullinger· Nov 7, 2022, 00:42 UTC · re: Sarah Julia Kriesch · lore
Sarah Julia Kriesch wrote:
> I have seen, that Fedora is excluding many tests additionnally for s390x.

FWIW, those tests are only excluded when building on RHEL-8, where they fail. The same tests work fine on Fedora and RHEL-9, so I have presumed that the issue is due to some quirk(s) in RHEL-8 on s390x.

The Fedora git package supports building for RHEL largely as a convenience. I've got no vested interest in s390x, so I disabled the tests on that OS/hardware combination rather than trying to get access to it in order to debug. :)

-- 
Todd
Eric Sunshine· Nov 22, 2022, 18:21 UTC · re: Sarah Julia Kriesch · lore

On Sun, Nov 6, 2022 at 2:18 PM Sarah Julia Kriesch <sarah.kriesch@opensuse.org> wrote:

Show 10 quoted lines
> I have seen, that Fedora is excluding many tests additionnally for
> s390x. That is another difference in the spec file:
> https://src.fedoraproject.org/rpms/git/blob/rawhide/f/git.spec
>
> We have also identified this week, that chainlint.pl --stats says "0
> tests". That can explain the empty output.
>
> ~/rpmbuild/BUILD/git-2.38.1/t> /usr/bin/perl chainlint.pl --stats
> --emit-all chainlinttmp/tests
> total: 0 workers, 0 scripts, 0 tests, 0 errors, 0.01s/0.01s (wall/user)
This sounds like the same issue as reported here[1].
[1]: https://lore.kernel.org/git/CANYNYEHXU8ivgAOa8EO5e9kOcbu6XF7rj+9EcSrbDQE+Rvyw_Q@mail.gmail.com/
Todd Zullinger· Nov 7, 2022, 00:41 UTC · re: Sarah Julia Kriesch · lore
Sarah Julia Kriesch wrote:
Show 6 quoted lines
> Thank you for the hint, that it is working for Fedora!
> I have compared your spec file with ours and found, that you have got a
> BuildRequires for jgit only for s390x.
> 
> That has solved the problem. Is there any special reason, that s390x needs
> jgit for git builds?

It's the opposite -- but the rpm conditional is quite long and ugly though, so it's not as clear it could be. It excludes jgit for the test suite entirely on Fedora 35 and newer¹.

On prior releases, it was excluded for x86 and s390x architectures. For s390x, the issue was that the jgit daemon frequently hung on during builds and was painful to try and debug without access to the architecture. (For the few tests which use jgit, it was simpler to just not test on s390x).

¹ Every few releases (it seems), some part of the java
  dependency chain gets close to being dropped from the
  distribution.  After disabling and enalbing jgit several
  times, I've left it disabled, even though jgit has managed
  to remain in Fedora.  As much as I'd like to run the
  compatibilty tests, I don't like the "OMG, git will be
  removed from Fedora because some dependency of jgit is
  going away!" every couple of releases. :)
-- 
Todd

← back to recent threads