GNU bug report logs - #38055
patchelf: Assertion failed when setting interpreter

Previous Next

Package: guix;

Reported by: Ivan Vilata i Balaguer <ivan <at> selidor.net>

Date: Mon, 4 Nov 2019 04:58:01 UTC

Severity: normal

Done: Efraim Flashner <efraim <at> flashner.co.il>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Efraim Flashner <efraim <at> flashner.co.il>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#38055: closed (patchelf: Assertion failed when setting
 interpreter)
Date: Mon, 11 Nov 2019 09:29:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Mon, 11 Nov 2019 11:27:30 +0200
with message-id <20191111092730.GF3954 <at> E5400>
and subject line Re: none
has caused the debbugs.gnu.org bug report #38055,
regarding patchelf: Assertion failed when setting interpreter
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
38055: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=38055
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Ivan Vilata i Balaguer <ivan <at> selidor.net>
To: bug-guix <at> gnu.org
Subject: patchelf: Assertion failed when setting interpreter
Date: Sun, 3 Nov 2019 23:56:14 -0500
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 <at> sax /tmp/tmps2Cv6w [env]$ patchelf --print-interpreter $SHELL
    /gnu/store/ahqgl4h89xqj695lgqvsaf6zh2nhy4pj-glibc-2.29/lib/ld-linux-x86-64.so.2
    ivan <at> 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/


[Message part 3 (message/rfc822, inline)]
From: Efraim Flashner <efraim <at> flashner.co.il>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 38055-done <at> debbugs.gnu.org, Ivan Vilata i Balaguer <ivan <at> selidor.net>
Subject: Re: none
Date: Mon, 11 Nov 2019 11:27:30 +0200
[Message part 4 (text/plain, inline)]
Some inline comments added. Patch pushed.

-- 
Efraim Flashner   <efraim <at> flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
[signature.asc (application/pgp-signature, inline)]

This bug report was last modified 5 years and 276 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.