Subject: Re: bug#38055: patchelf: Assertion failed when setting interpreter

From: Efraim Flashner <[email-masked]>
Date: Tue, 5 Nov 2019 18:18:22 +0200

On Tue, Nov 05, 2019 at 03:12:23PM +0100, Ludovic Courtès wrote:
> Hi Ivan,
> 
> Ivan Vilata i Balaguer <[email-masked]> skribis:
> 
> > Hi, I'm using patchelf 0.8 from Guix commit 7f81cce3 on Debian Sid.  When
> > trying to patch the `go` binary from
> > <https://dl.google.com/go/go1.12.3.linux-amd64.tar.gz>, I get the following
> > error:
> >
> >     ivan@sax /tmp/tmps2Cv6w [env]$ patchelf --print-interpreter $SHELL
> >     /gnu/store/ahqgl4h89xqj695lgqvsaf6zh2nhy4pj-glibc-2.29/lib/ld-linux-x86-64.so.2
> >     ivan@sax /tmp/tmps2Cv6w [env]$ patchelf --set-interpreter $(patchelf --print-interpreter $SHELL) /tmp/tmps2Cv6w/golang/bin/go
> >     patchelf: patchelf.cc:701: void ElfFile<Elf_Ehdr, Elf_Phdr, Elf_Shdr, Elf_Addr, Elf_Off, Elf_Dyn, Elf_Sym>::rewriteSectionsExecutable() \
> >      [with Elf_Ehdr = Elf64_Ehdr; Elf_Phdr = Elf64_Phdr; Elf_Shdr = Elf64_Shdr; Elf_Addr = long unsigned int; Elf_Off = long unsigned int; \
> >      Elf_Dyn = Elf64_Dyn; Elf_Sym = Elf64_Sym]: Assertion `(off_t) rdi(hdr->e_shoff) >= startOffset' failed.
> >     Aborted
> 
> I think it’s a bug you should report upstream to the PatchELF
> maintainers; it’s probably not Guix-specific.
> 

On the other hand, if I were the patchelf maintainers, I'd suggest
upgrading our package from 0.8 to a newer version.

-- 
Efraim Flashner   <[email-masked]>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted