Subject: Re: bug#32458: Acknowledgement (SDL SEGFAULTs on foreign distro)

From: Marius Bakke <[email-masked]>
Date: Wed, 17 Oct 2018 17:13:21 +0200

Tim Gesthuizen <[email-masked]> writes:

> Hi,
> I tried to bisect again using the input rewriting method. You find the
> two scripts for this attached. It turned out that this does not only
> take a lot of time for building single versions of guix and the modified
> teeworlds package, but it also brings up the bug with the missing
> pkg-config package in the package definition of teeworlds. Because of
> this I stopped trying to bisect with the input rewritten versions of the
> packages and tried reverting as you suggested.

OK!  Thanks for testing.  I wonder if can make that cheaper somehow.

> Reverting on top of 0d6f84aab, guix and packages using OpenGL build, but
> still segfaults on initialization. I hope you have another good idea, as
> bisecting with the above method would probably take a lot of time.

Are you saying that you can trigger the bug on top of commit 0d6f84aab?

That is interesting, since it does not contain the libepoxy update and
should be a good candidate for a "normal" bisect.  Can you try to "git
bisect bad" and then try these commits:

6449e68d350b8196d39715a2e775337c7c93387e
263c9941a1e523b360ca9f42d1ed6b11e6e6e285

If any of them are good, just follow git bisect instructions.  I believe
the second should be good, and possibly the first too.

[...]

> (use-modules (gnu packages)
>              (gnu packages games)
>              (gnu packages gl)
>              (guix packages)
>              (guix profiles))
>
> (define libepoxy-legacy
>   (package
>     (inherit libepoxy)
>     (version "1.4.0")))

This package is missing a (source ...) field.  So this only pretends to
be 1.4.0, but is actually the same as the inherited one.

(Also, should it not be 1.5.0?)

>
> (define with-libepoxy-legacy
>   (package-input-rewriting (list (cons libepoxy libepoxy-legacy))))
>
> (define teeworlds-fixed
>   (with-libepoxy-legacy teeworlds))
>
> (packages->manifest (list teeworlds-fixed))

Thanks for sharing these scripts!