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

ccl: 1.11.5 -> 1.12 #94586

Merged
merged 1 commit into from Aug 16, 2020
Merged

ccl: 1.11.5 -> 1.12 #94586

merged 1 commit into from Aug 16, 2020

Conversation

kini
Copy link
Member

@kini kini commented Aug 3, 2020

Motivation for this change

Version 1.12 was released a few months ago.

Note: I only tested on Linux x86_64 since I don't have access to other environments.

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.

@sikmir
Copy link
Member

sikmir commented Aug 3, 2020

Failed on darwin:

builder for '/nix/store/lmrfsczs53s7j2xkl4pykvlg5ml5fwlx-ccl-1.12.drv' failed with exit code 2; last 10 log lines:
  make: Leaving directory '/private/var/folders/wf/qxrs82v946n91pb5s71n3dy80000gp/T/nix-build-ccl-1.12.drv-0/ccl/lisp-kernel/darwinx8664'
  make: Entering directory '/private/var/folders/wf/qxrs82v946n91pb5s71n3dy80000gp/T/nix-build-ccl-1.12.drv-0/ccl/lisp-kernel/darwinx8664'
  m4 -DDARWIN -DX86 -DX8664 -DTCR_IN_GPR -I../ ../x86-spjump64.s | as -arch x86_64 -g -Q -o x86-spjump64.o
  m4 -DDARWIN -DX86 -DX8664 -DTCR_IN_GPR -I../ ../x86-spentry64.s | as -arch x86_64 -g -Q -o x86-spentry64.o
  m4 -DDARWIN -DX86 -DX8664 -DTCR_IN_GPR -I../ ../x86-subprims64.s | as -arch x86_64 -g -Q -o x86-subprims64.o
  m4 -DDARWIN -DX86 -DX8664 -DTCR_IN_GPR -I../ ../imports.s | as -arch x86_64 -g -Q -o imports.o
  /usr/sbin/dtrace -h -s ../probes.d
  make: /usr/sbin/dtrace: Operation not permitted
  make: *** [Makefile:97: probes.h] Error 127
  make: Leaving directory '/private/var/folders/wf/qxrs82v946n91pb5s71n3dy80000gp/T/nix-build-ccl-1.12.drv-0/ccl/lisp-kernel/darwinx8664'
cannot build derivation '/nix/store/z9cdk9nh51vvzbb7j53yli4iq3mxnf7n-env.drv': 1 dependencies couldn't be built

@kini
Copy link
Member Author

kini commented Aug 3, 2020

Thanks for the report. Since I don't have access to a darwin system, I'm not sure how to debug that. Any volunteers? :)

@7c6f434c
Copy link
Member

7c6f434c commented Aug 7, 2020

Hm, I wonder why DTrace is even called… to find out the syscall list?

@kini
Copy link
Member Author

kini commented Aug 10, 2020

As best I can tell from looking through the code, it seems to be that ccl wants to add custom dtrace-able points in its own codebase (particularly surrounding the entry/exit points of the garbage collector). Those are defined in probes.d, which has dtrace -h -s called on it to generate a probes.h file at compile time so that the appropriate probes will be available in the resulting binary.

That dtrace -h -s call is what is failing with a permissions error. I found a few posts from people trying to compile other software that does this, where the solution they ended up with was to chmod -s /usr/sbin/dtrace, but that's not viable here of course. What I'm confused about is, how has the Darwin build not been failing for ccl 1.11.5? It has the same command in its Makefile, and I see it a few lines from the top of the latest Hydra build log without any errors. Maybe the hydra build servers have /usr/sbin/dtrace set to be executable by non-root users and @sikmir's environment doesn't? @sikmir, could you try building the existing ccl 1.11.5 from nixpkgs master to see if you get the same error?

If all else fails I suppose we can just patch out the dtrace-related stuff in the ccl source code, since it doesn't seem to be essential to the functionality of the program.

EDIT: May also be related to antivirus running on the system? (see rvm/rvm#4313)

@kini
Copy link
Member Author

kini commented Aug 10, 2020

Another thing we could try is get ofborg to evaluate this PR on darwin -- @7c6f434c, could you please kick off a build? (I'm not a trusted user for ofborg.)

@7c6f434c
Copy link
Member

@ofborg build ccl

@kini
Copy link
Member Author

kini commented Aug 13, 2020

Looks like ofborg wasn't able to reproduce the failure on Darwin (logs), so maybe we're good to go.

@7c6f434c 7c6f434c merged commit d82cf21 into NixOS:master Aug 16, 2020
@kini kini deleted the ccl/bump branch August 16, 2020 18:12
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

3 participants