Help with FTBFS polybar (builds fine on salsa-ci)

Samuel Henrique samueloph at debian.org
Tue Jun 9 23:32:31 BST 2020


Hello everyone,

> The diff seems to be mostly made of entries like this (diff from a
> build with DEB_BUILD_MAINT_OPTIONS = reproducible=+fixfilepath [branch
> debian/samueloph/reproducible2]):
> │ │ │ │ -  250e36:    48 8d 3d e0 b5 00 00     lea    0xb5e0(%rip),%rdi
> │ │ │ │ +  250e36:    48 8d 3d e8 b5 00 00     lea    0xb5e8(%rip),%rdi
> │ │ │ │    250e3d:    e8 4e a3 e6 ff           callq  bb190
> <std::__throw_length_error(char const*)@plt>
> │ │ │ │ -  250e42:    48 8d 3d d4 b5 00 00     lea    0xb5d4(%rip),%rdi
> │ │ │ │ +  250e42:    48 8d 3d dc b5 00 00     lea    0xb5dc(%rip),%rdi
>
> Do you recognize this as some pattern of a known reproducibility
> issue? I'm not experienced enough to get it.

WIth the help of upstream[0] I found out the issue, they are embedding
the build flags for the sake of "-vvv" output, which ends up having
the build path there as we set it on the "-fdebug-prefix-map" or
"-ffile-prefix-map" flags.
This would cause a diff in ELF's .rodata, which in turn would cause a
shift in a bunch of .text assembly calls.

After the fix, the only diff we have is from "NT_GNU_BUILD_ID" and
".gnu_debuglink" which seems like a known issue[1] and I don't think
there's anything I can do.

I just uploaded 3.4.3-2 with the fixes, so this means the diffoscope
timeouts won't happen anymore for this package, though the issue will
still be there and it might affect other packages.

Thank you for the help Vagrant and Mattia :)

[0] https://github.com/polybar/polybar/issues/2102#issuecomment-640919462
[1] https://tests.reproducible-builds.org/debian/issues/unstable/build_id_differences_only_issue.html

-- 
Samuel Henrique <samueloph>



More information about the Reproducible-builds mailing list