Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

aisleriot: 3.22.9 -> 3.22.11 #95671

Merged
merged 1 commit into from Aug 18, 2020
Merged

aisleriot: 3.22.9 -> 3.22.11 #95671

merged 1 commit into from Aug 18, 2020

Conversation

dasj19
Copy link
Contributor

@dasj19 dasj19 commented Aug 17, 2020

Motivation for this change

Version bump. Adjusted dependencies to please meson.

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.

@jtojnar
Copy link
Contributor

jtojnar commented Aug 17, 2020

Hmm, looks like there is ton of the following messages at the end of the build now:

patchelf: cannot find section '.dynstr'. The input file is most likely statically linked

@ofborg ofborg bot requested a review from jtojnar August 17, 2020 15:56
@dasj19
Copy link
Contributor Author

dasj19 commented Aug 18, 2020

@jtojnar I do not know how to fix those, if you encountered something similar before please let me know...

@jtojnar
Copy link
Contributor

jtojnar commented Aug 18, 2020

Looking at the derivation output, previously:

$ file result/lib/aisleriot/guile/2.0/accordion.go
result/lib/aisleriot/guile/2.0/accordion.go: Guile Object, little endian, 64bit, bytecode v2.0

now:

$ file result/bin/.sol-wrapped 
result/bin/.sol-wrapped: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /nix/store/mh78fk3x12q2a77srgkzv16h0irl8r61-glibc-2.31/lib/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, not stripped
$ file result/lib/aisleriot/guile/2.2/athena.go
result/lib/aisleriot/guile/2.2/athena.go: ELF 64-bit LSB shared object, no machine, version 1 (embedded), dynamically linked, with debug_info, not stripped
$ patchelf --print-rpath result/lib/aisleriot/guile/2.2/athena.go
patchelf: cannot find section '.dynstr'. The input file is most likely statically linked

Edit: the warning comes from pkgs/build-support/setup-hooks/audit-tmpdir.sh but incorrectly recognized Guile object files are still the underlying issue.

@jtojnar
Copy link
Contributor

jtojnar commented Aug 18, 2020

Looks like the change is intentional according to https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=907061:

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.

@jtojnar
Copy link
Contributor

jtojnar commented Aug 18, 2020

Either way this is bug in some other component, maybe we should do the same dh_strip does:

  • dh_strip: Skip stripping of guile-2.2 files by skipping all all files matching "/guile/.*.go$". Thanks to Jeremy Bicha and Rob Browning. (Closes: #907061)

@jtojnar jtojnar merged commit ef5246f into NixOS:master Aug 18, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants