Bug#907061: dh_strip: Unable to recognize the format of guile 2.2 files
Rob Browning writes: > Ahh, apologies, I'd just carelessly assumed they were roughly the same. > I'll check a bit more carefully when I get a chance -- and if I can't > figure it out, I imagine someone will know on #guile (freenode) or of > course guile-devel. Oh, and for what it's worth -- I suspect if nothing else, we (guile-related package maintainers) can just exclude the guile .go containing dirs from dh_strip. I expect the .go files to be well segregated in typical cases, i.e. in /usr/lib/.../guile... I mean it'd be nice if dh_strip could handle it automatically, but offhand, I don't think that's critical. -- Rob Browning rlb @defaultvalue.org and @debian.org GPG as of 2011-07-10 E6A9 DA3C C9FD 1FF8 C676 D2C4 C0F0 39E9 ED1B 597A GPG as of 2002-11-03 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4
Bug#907061: dh_strip: Unable to recognize the format of guile 2.2 files
Niels Thykier writes: > Those are guile-2.0 files; the files Jeremy reported issues with are > guile-2.2. > > Guile 2.0 files starts with the MAGIC "GOOF" whereas Guile-2.2 is a > genuine ELF binary (\x7f followed by "ELF"). Even file(1) recognises > them simply as ELF files: Ahh, apologies, I'd just carelessly assumed they were roughly the same. I'll check a bit more carefully when I get a chance -- and if I can't figure it out, I imagine someone will know on #guile (freenode) or of course guile-devel. Thanks -- Rob Browning rlb @defaultvalue.org and @debian.org GPG as of 2011-07-10 E6A9 DA3C C9FD 1FF8 C676 D2C4 C0F0 39E9 ED1B 597A GPG as of 2002-11-03 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4
Bug#907061: dh_strip: Unable to recognize the format of guile 2.2 files
Rob Browning: > Niels Thykier writes: > >> Partly, I still have to identify them as "non-strippable" somehow. Is >> there an ELF header I can use to identify on? > > Not sure -- though here's some additional information: > https://www.gnu.org/software/guile/manual/html_node/Object-File-Format.html > > And I think someone mentioned file knows about it, which I'd assume > means libmagic has some related code: > > $ file /usr/lib/x86_64-linux-gnu/guile/2.0/ccache/ice-9/futures.go > /usr/lib/x86_64-linux-gnu/guile/2.0/ccache/ice-9/futures.go: Guile Object, > little endian, 64bit, bytecode v2.0 > Those are guile-2.0 files; the files Jeremy reported issues with are guile-2.2. Guile 2.0 files starts with the MAGIC "GOOF" whereas Guile-2.2 is a genuine ELF binary (\x7f followed by "ELF"). Even file(1) recognises them simply as ELF files: """ ./usr/lib/x86_64-linux-gnu/aisleriot/guile/2.2/zebra.go: ELF 64-bit LSB shared object, no machine, version 1 (embedded), dynamically linked, with debug_info, not stripped """ Thanks, ~Niels
Bug#907061: dh_strip: Unable to recognize the format of guile 2.2 files
Niels Thykier writes: > Partly, I still have to identify them as "non-strippable" somehow. Is > there an ELF header I can use to identify on? Not sure -- though here's some additional information: https://www.gnu.org/software/guile/manual/html_node/Object-File-Format.html And I think someone mentioned file knows about it, which I'd assume means libmagic has some related code: $ file /usr/lib/x86_64-linux-gnu/guile/2.0/ccache/ice-9/futures.go /usr/lib/x86_64-linux-gnu/guile/2.0/ccache/ice-9/futures.go: Guile Object, little endian, 64bit, bytecode v2.0 -- Rob Browning rlb @defaultvalue.org and @debian.org GPG as of 2011-07-10 E6A9 DA3C C9FD 1FF8 C676 D2C4 C0F0 39E9 ED1B 597A GPG as of 2002-11-03 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4
Bug#907061: dh_strip: Unable to recognize the format of guile 2.2 files
Rob Browning: > Jeremy Bicha writes: > >> On Sun, Sep 2, 2018 at 2:30 AM Niels Thykier wrote: > >>> These files appear to regular ELF files. How would I recognise them as >>> "non-strippable" ELF files? Note even file(1) classifies them as ELF >>> shared object with debug info and not stripped. >>> >>> Related, are we sure this is not a bug/missing feature in strip(1)? >> >> I don't know anything about Guile. Rob, can you help? > > I don't know all the details here, but I believe that Guile uses the ELF > format, for its byte-compiled files, and they *are* ELF files, but > they're not "normal" executables. They contain Guile VM byte code, data > sections, etc. > > And as such, I assume they're not strippable, at least not in the > typical sense. > > Does that help? > Partly, I still have to identify them as "non-strippable" somehow. Is there an ELF header I can use to identify on? Thanks, ~Niels
Bug#907061: dh_strip: Unable to recognize the format of guile 2.2 files
Jeremy Bicha writes: > On Sun, Sep 2, 2018 at 2:30 AM Niels Thykier wrote: >> These files appear to regular ELF files. How would I recognise them as >> "non-strippable" ELF files? Note even file(1) classifies them as ELF >> shared object with debug info and not stripped. >> >> Related, are we sure this is not a bug/missing feature in strip(1)? > > I don't know anything about Guile. Rob, can you help? I don't know all the details here, but I believe that Guile uses the ELF format, for its byte-compiled files, and they *are* ELF files, but they're not "normal" executables. They contain Guile VM byte code, data sections, etc. And as such, I assume they're not strippable, at least not in the typical sense. Does that help? -- Rob Browning rlb @defaultvalue.org and @debian.org GPG as of 2011-07-10 E6A9 DA3C C9FD 1FF8 C676 D2C4 C0F0 39E9 ED1B 597A GPG as of 2002-11-03 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4
Bug#907061: dh_strip: Unable to recognize the format of guile 2.2 files
On Sun, Sep 2, 2018 at 2:30 AM Niels Thykier wrote: > Control: tags -1 moreinfo > > On Thu, 23 Aug 2018 11:37:27 -0400 Jeremy Bicha wrote: > > Source: debhelper > > Version: 11.3.5 > > X-Debbugs-CC: guile-...@packages.debian.org > > > > When I switched aisleriot to build with guile-2.2 instead of > > guile-2.0, dh_strip failed the build with this error: > > > > "Unable to recognise the format of the input file" > > `debian/aisleriot/usr/lib/x86_64-linux-gnu/aisleriot/guile/2.2/quatorze.go' > > > > > > I worked around the issue by excluding .go files from dh_strip but I > > guess this is a bug in dh_strip. > > > > https://salsa.debian.org/gnome-team/aisleriot/commit/1701f31 > > > > Thanks, > > Jeremy Bicha > > > > > > Hi Jeremy, > > These files appear to regular ELF files. How would I recognise them as > "non-strippable" ELF files? Note even file(1) classifies them as ELF > shared object with debug info and not stripped. > > Related, are we sure this is not a bug/missing feature in strip(1)? I don't know anything about Guile. Rob, can you help? Thanks, Jeremy Bicha
Bug#907061: dh_strip: Unable to recognize the format of guile 2.2 files
Control: tags -1 moreinfo On Thu, 23 Aug 2018 11:37:27 -0400 Jeremy Bicha wrote: > Source: debhelper > Version: 11.3.5 > X-Debbugs-CC: guile-...@packages.debian.org > > When I switched aisleriot to build with guile-2.2 instead of > guile-2.0, dh_strip failed the build with this error: > > "Unable to recognise the format of the input file" > `debian/aisleriot/usr/lib/x86_64-linux-gnu/aisleriot/guile/2.2/quatorze.go' > > > I worked around the issue by excluding .go files from dh_strip but I > guess this is a bug in dh_strip. > > https://salsa.debian.org/gnome-team/aisleriot/commit/1701f31 > > Thanks, > Jeremy Bicha > > Hi Jeremy, These files appear to regular ELF files. How would I recognise them as "non-strippable" ELF files? Note even file(1) classifies them as ELF shared object with debug info and not stripped. Related, are we sure this is not a bug/missing feature in strip(1)? Thanks, ~Niels
Bug#907061: dh_strip: Unable to recognize the format of guile 2.2 files
Source: debhelper Version: 11.3.5 X-Debbugs-CC: guile-...@packages.debian.org When I switched aisleriot to build with guile-2.2 instead of guile-2.0, dh_strip failed the build with this error: "Unable to recognise the format of the input file" `debian/aisleriot/usr/lib/x86_64-linux-gnu/aisleriot/guile/2.2/quatorze.go' I worked around the issue by excluding .go files from dh_strip but I guess this is a bug in dh_strip. https://salsa.debian.org/gnome-team/aisleriot/commit/1701f31 Thanks, Jeremy Bicha