waf, PYTHONHASHSEED & -I order on other architectures

Andrew Bartlett abartlet at samba.org
Sun May 8 20:53:12 UTC 2022

On Sat, 2022-04-09 at 09:41 +0300, Michael Tokarev via samba-technical
> Hi!
> I'm having a build failure of samba on sparc64.  It fails due to
> finding
> wrong include for <gssapi/gssapi.h>, as it has already seen before
> due to
> PYTHONHASHSEED not being set, having python hashes in random order so
> -I
> includes were unpredictable.
> The good -I order is this:
>   -Ithird_party/heimdal/lib/gssapi
>   -Ithird_party/heimdal/lib
> the bad is:
>   -Ithird_party/heimdal/lib
>   -Ithird_party/heimdal/lib/gssapi
> (I picked up only the -I options for dirs where <gssapi/gssapi.h>
> exists).
> This is stable on sparc64, all builds of samba-4.16 are failing due
> to
> this very issue.
> How to work around this?

I agree that at this point there is a bug, but nobody has had the time
to work out the missing dependencies or get into the guts of waf to get
a more proper solution.  

Yes, setting PYTHONHASHSEED thing is a great paper-over, but just locks
in the order per-arch allowing reproducible debugging, not a real fix.

Perhaps change PYTHONHASHSEED until the order gets right and lock that
in for now?  (Barf!)

It would be worth working with upstream Heimdal to determine if the
ambiguous headers are really needed. 

Andrew Bartlett

Andrew Bartlett (he/him)       https://samba.org/~abartlet/
Samba Team Member (since 2001) https://samba.org
Samba Team Lead, Catalyst IT   https://catalyst.net.nz/services/samba

Samba Development and Support, Catalyst IT - Expert Open Source

More information about the samba-technical mailing list