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

reptyr: enable on 32-bit ARM Linux and x86 FreeBSD #51259

Merged
merged 2 commits into from Nov 30, 2018

Conversation

lopsided98
Copy link
Contributor

Motivation for this change

Reptyr should not restricted to specific architectures. I tested it and it works fine on armv7l.

Things done

Made the platforms less restrictive, allowing it to run on all Linux architectures. MacOS is not supported.

cc @7c6f434c

  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
  • 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 nox --run "nox-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)
  • Assured whether relevant documentation is up to date
  • Fits CONTRIBUTING.md.

@thoughtpolice
Copy link
Member

@GrahamcOfBorg build reptyr

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: reptyr

Partial log (click to expand)

these paths will be fetched (0.02 MiB download, 0.05 MiB unpacked):
  /nix/store/2dznhkbbrjjcppm6fxwh6n8h5ia5kpzw-reptyr-0.6.2
copying path '/nix/store/2dznhkbbrjjcppm6fxwh6n8h5ia5kpzw-reptyr-0.6.2' from 'https://cache.nixos.org'...
/nix/store/2dznhkbbrjjcppm6fxwh6n8h5ia5kpzw-reptyr-0.6.2

@GrahamcOfBorg
Copy link

Failure on aarch64-linux (full log)

Attempted: reptyr

Partial log (click to expand)

build flags: SHELL=/nix/store/bpspdmsl0yys24gs70flsvcw3wcnl7lx-bash-4.4-p23/bin/bash PREFIX=\$\(out\)
gcc -Wall -Werror -D_GNU_SOURCE -g   -c -o reptyr.o reptyr.c
In file included from platform/platform.h:28:0,
                 from reptyr.c:37:
platform/../ptrace.h:66:14: error: field 'user' has incomplete type
  struct user user;
              ^~~~
make: *** [<builtin>: reptyr.o] Error 1
builder for '/nix/store/4lx8qfb8sik1y32dspanm90sv9ahrhcj-reptyr-0.6.2.drv' failed with exit code 2
error: build of '/nix/store/4lx8qfb8sik1y32dspanm90sv9ahrhcj-reptyr-0.6.2.drv' failed

@GrahamcOfBorg
Copy link

No attempt on x86_64-darwin (full log)

The following builds were skipped because they don't evaluate on x86_64-darwin: reptyr

Partial log (click to expand)


a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.


@lopsided98
Copy link
Contributor Author

Oops, didn't test this on aarch64. I guess it only supports 32-bit ARM.

@lopsided98 lopsided98 changed the title reptyr: enable for Linux on all architectures reptyr: enable on 32-bit ARM Linux and x86 FreeBSD Nov 30, 2018
@lopsided98
Copy link
Contributor Author

I updated the platforms to support 32-bit ARM, and added freebsd as well because it is supposedly supported, although I don't have a machine to test it with.

I also updated the description to the current GitHub description, which reflects that fact that it is no longer only supported on Linux.

@7c6f434c
Copy link
Member

Would with stdenv.lib.platforms; linux ++ freebsd work then?

@c0bw3b
Copy link
Contributor

c0bw3b commented Nov 30, 2018

platforms.linux would include aarch64-linux and it seems it fails to build on ARMv8

@thoughtpolice
Copy link
Member

@GrahamcOfBorg build reptyr

@GrahamcOfBorg
Copy link

No attempt on aarch64-linux (full log)

The following builds were skipped because they don't evaluate on aarch64-linux: reptyr

Partial log (click to expand)


a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.


@GrahamcOfBorg
Copy link

No attempt on x86_64-darwin (full log)

The following builds were skipped because they don't evaluate on x86_64-darwin: reptyr

Partial log (click to expand)


a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.


@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: reptyr

Partial log (click to expand)

these paths will be fetched (0.02 MiB download, 0.05 MiB unpacked):
  /nix/store/la1lrgd8lq5jfxfmxy8fxfzcq1jwgbyj-reptyr-0.6.2
copying path '/nix/store/la1lrgd8lq5jfxfmxy8fxfzcq1jwgbyj-reptyr-0.6.2' from 'https://cache.nixos.org'...
/nix/store/la1lrgd8lq5jfxfmxy8fxfzcq1jwgbyj-reptyr-0.6.2

@thoughtpolice thoughtpolice merged commit 99a720d into NixOS:master Nov 30, 2018
@lopsided98 lopsided98 deleted the reptyr-platforms branch December 2, 2018 03:42
@lopsided98 lopsided98 mentioned this pull request Dec 5, 2018
10 tasks
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

5 participants