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 know Go is packed for Guix, my need arises from trying to build an unrelated project which relies on binary Go for its build process.) It may be the problem described here regarding Go-produced binaries: <https://github.com/NixOS/patchelf/issues/66>. It seems to be fixed in patchelf 0.10, and indeed trying the same operation with patchelf 0.10 from Debian does succeed to patch the binary. As an aside, I tried to build `--with-source` for 0.10 and it succeeds to compile, but tests fail to pass. Thank you very much! -- Ivan Vilata i Balaguer -- https://elvil.net/