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

stress-ng: 0.06.14 -> 0.09.46 #50506

Merged
merged 1 commit into from Nov 17, 2018
Merged

stress-ng: 0.06.14 -> 0.09.46 #50506

merged 1 commit into from Nov 17, 2018

Conversation

c0bw3b
Copy link
Contributor

@c0bw3b c0bw3b commented Nov 17, 2018

Motivation for this change

Package update
+ should be multi-platform
+ added build inputs recommended upstream

See: http://kernel.ubuntu.com/git/cking/stress-ng.git/plain/README

Things done
  • 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)
  • Fits CONTRIBUTING.md.

$ ./result/bin/stress-ng --cpu 4 --vm 2 --hdd 1 --fork 8 --switch 4 --timeout 5m --metrics-brief
stress-ng: info:  [11495] dispatching hogs: 4 cpu, 2 vm, 1 hdd, 8 fork, 4 switch
stress-ng: info:  [11495] successful run completed in 300.36s (5 mins, 0.36 secs)
stress-ng: info:  [11495] stressor       bogo ops real time  usr time  sys time   bogo ops/s   bogo ops/s
stress-ng: info:  [11495]                           (secs)    (secs)    (secs)   (real time) (usr+sys time)
stress-ng: info:  [11495] cpu               63197    300.05    216.18    141.30       210.62       176.78
stress-ng: info:  [11495] vm              1330056    300.02    125.27     71.72      4433.17      6751.90
stress-ng: info:  [11495] hdd             1413827    300.36      0.80     78.57      4707.16     17813.12
stress-ng: info:  [11495] fork             356007    300.00     53.90     62.94      1186.69      3046.96
stress-ng: info:  [11495] switch         47303035    300.00     32.37    373.77    157676.69    116469.78

@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Attempted: stress-ng

Partial log (click to expand)

cp -rp example-jobs/*.job /nix/store/v08nag15sbdjd1y3vhxh7sfkapb46bd3-stress-ng-0.09.46/share/stress-ng/example-jobs
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/v08nag15sbdjd1y3vhxh7sfkapb46bd3-stress-ng-0.09.46
shrinking /nix/store/v08nag15sbdjd1y3vhxh7sfkapb46bd3-stress-ng-0.09.46/bin/stress-ng
gzipping man pages under /nix/store/v08nag15sbdjd1y3vhxh7sfkapb46bd3-stress-ng-0.09.46/share/man/
strip is /nix/store/p9akxn2sfy4wkhqdqa3li97pc6jaz3r1-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/v08nag15sbdjd1y3vhxh7sfkapb46bd3-stress-ng-0.09.46/bin
patching script interpreter paths in /nix/store/v08nag15sbdjd1y3vhxh7sfkapb46bd3-stress-ng-0.09.46
checking for references to /build in /nix/store/v08nag15sbdjd1y3vhxh7sfkapb46bd3-stress-ng-0.09.46...
/nix/store/v08nag15sbdjd1y3vhxh7sfkapb46bd3-stress-ng-0.09.46

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: stress-ng

Partial log (click to expand)

cp -rp example-jobs/*.job /nix/store/dcbg05mgf101yzn4j56yz6b97jy4j4fi-stress-ng-0.09.46/share/stress-ng/example-jobs
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/dcbg05mgf101yzn4j56yz6b97jy4j4fi-stress-ng-0.09.46
shrinking /nix/store/dcbg05mgf101yzn4j56yz6b97jy4j4fi-stress-ng-0.09.46/bin/stress-ng
gzipping man pages under /nix/store/dcbg05mgf101yzn4j56yz6b97jy4j4fi-stress-ng-0.09.46/share/man/
strip is /nix/store/vcc4svb8gy29g4pam2zja6llkbcwsyiq-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/dcbg05mgf101yzn4j56yz6b97jy4j4fi-stress-ng-0.09.46/bin
patching script interpreter paths in /nix/store/dcbg05mgf101yzn4j56yz6b97jy4j4fi-stress-ng-0.09.46
checking for references to /build in /nix/store/dcbg05mgf101yzn4j56yz6b97jy4j4fi-stress-ng-0.09.46...
/nix/store/dcbg05mgf101yzn4j56yz6b97jy4j4fi-stress-ng-0.09.46

@infinisil
Copy link
Member

@GrahamcOfBorg build stress-ng

@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Attempted: stress-ng

Partial log (click to expand)

/nix/store/v08nag15sbdjd1y3vhxh7sfkapb46bd3-stress-ng-0.09.46

@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: stress-ng

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: stress-ng

Partial log (click to expand)

/nix/store/dcbg05mgf101yzn4j56yz6b97jy4j4fi-stress-ng-0.09.46

@infinisil
Copy link
Member

@GrahamcOfBorg build stress-ng

@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Attempted: stress-ng

Partial log (click to expand)

cp -rp example-jobs/*.job /nix/store/i66gp5yza5hfq0phkbp1shkvi8bqi6v6-stress-ng-0.09.46/share/stress-ng/example-jobs
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/i66gp5yza5hfq0phkbp1shkvi8bqi6v6-stress-ng-0.09.46
shrinking /nix/store/i66gp5yza5hfq0phkbp1shkvi8bqi6v6-stress-ng-0.09.46/bin/stress-ng
gzipping man pages under /nix/store/i66gp5yza5hfq0phkbp1shkvi8bqi6v6-stress-ng-0.09.46/share/man/
strip is /nix/store/p9akxn2sfy4wkhqdqa3li97pc6jaz3r1-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/i66gp5yza5hfq0phkbp1shkvi8bqi6v6-stress-ng-0.09.46/bin
patching script interpreter paths in /nix/store/i66gp5yza5hfq0phkbp1shkvi8bqi6v6-stress-ng-0.09.46
checking for references to /build in /nix/store/i66gp5yza5hfq0phkbp1shkvi8bqi6v6-stress-ng-0.09.46...
/nix/store/i66gp5yza5hfq0phkbp1shkvi8bqi6v6-stress-ng-0.09.46

@GrahamcOfBorg
Copy link

Failure on x86_64-darwin (full log)

Attempted: stress-ng

Partial log (click to expand)

Undefined symbols for architecture x86_64:
  "_getentropy", referenced from:
      _shim_getrandom in shim.o
ld: symbol(s) not found for architecture x86_64
clang-5.0: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [Makefile:350: stress-ng] Error 1
make[1]: Leaving directory '/private/tmp/nix-build-stress-ng-0.09.46.drv-0/stress-ng-0.09.46'
make: *** [Makefile:337: all] Error 2
builder for '/nix/store/lr7893vvqp9idq95xfwldmv07ll9gki7-stress-ng-0.09.46.drv' failed with exit code 2
error: build of '/nix/store/lr7893vvqp9idq95xfwldmv07ll9gki7-stress-ng-0.09.46.drv' failed

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: stress-ng

Partial log (click to expand)

cp -rp example-jobs/*.job /nix/store/458w4f6l3ddfy1b5wv88hwqcpyjmg48y-stress-ng-0.09.46/share/stress-ng/example-jobs
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/458w4f6l3ddfy1b5wv88hwqcpyjmg48y-stress-ng-0.09.46
shrinking /nix/store/458w4f6l3ddfy1b5wv88hwqcpyjmg48y-stress-ng-0.09.46/bin/stress-ng
gzipping man pages under /nix/store/458w4f6l3ddfy1b5wv88hwqcpyjmg48y-stress-ng-0.09.46/share/man/
strip is /nix/store/vcc4svb8gy29g4pam2zja6llkbcwsyiq-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/458w4f6l3ddfy1b5wv88hwqcpyjmg48y-stress-ng-0.09.46/bin
patching script interpreter paths in /nix/store/458w4f6l3ddfy1b5wv88hwqcpyjmg48y-stress-ng-0.09.46
checking for references to /build in /nix/store/458w4f6l3ddfy1b5wv88hwqcpyjmg48y-stress-ng-0.09.46...
/nix/store/458w4f6l3ddfy1b5wv88hwqcpyjmg48y-stress-ng-0.09.46

@c0bw3b
Copy link
Contributor Author

c0bw3b commented Nov 17, 2018

For future reference, this is the Darwin failure:

shim.c:276:9: warning: implicit declaration of function 'getentropy' is invalid in C99 [-Wimplicit-function-declaration]
        return getentropy(buff, buflen);
               ^
1 warning generated.
[...]
LD stress-ng
Undefined symbols for architecture x86_64:
  "_getentropy", referenced from:
      _shim_getrandom in shim.o
ld: symbol(s) not found for architecture x86_64
clang-5.0: error: linker command failed with exit code 1 (use -v to see invocation)

It seems similar to this Python issue but stress-ng.h already contains :

#if defined(__APPLE__)
#include <sys/random.h>
#endif

Don't know much about Darwin so for now I'll just revert to marking this package Linux-only.

@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Attempted: stress-ng

Partial log (click to expand)

/nix/store/i66gp5yza5hfq0phkbp1shkvi8bqi6v6-stress-ng-0.09.46

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: stress-ng

Partial log (click to expand)

cp -rp example-jobs/*.job /nix/store/458w4f6l3ddfy1b5wv88hwqcpyjmg48y-stress-ng-0.09.46/share/stress-ng/example-jobs
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/458w4f6l3ddfy1b5wv88hwqcpyjmg48y-stress-ng-0.09.46
shrinking /nix/store/458w4f6l3ddfy1b5wv88hwqcpyjmg48y-stress-ng-0.09.46/bin/stress-ng
gzipping man pages under /nix/store/458w4f6l3ddfy1b5wv88hwqcpyjmg48y-stress-ng-0.09.46/share/man/
strip is /nix/store/vcc4svb8gy29g4pam2zja6llkbcwsyiq-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/458w4f6l3ddfy1b5wv88hwqcpyjmg48y-stress-ng-0.09.46/bin
patching script interpreter paths in /nix/store/458w4f6l3ddfy1b5wv88hwqcpyjmg48y-stress-ng-0.09.46
checking for references to /build in /nix/store/458w4f6l3ddfy1b5wv88hwqcpyjmg48y-stress-ng-0.09.46...
/nix/store/458w4f6l3ddfy1b5wv88hwqcpyjmg48y-stress-ng-0.09.46

@c0bw3b c0bw3b merged commit f98c31d into NixOS:master Nov 17, 2018
@c0bw3b c0bw3b deleted the pkg/stressng branch November 17, 2018 18:37
@LnL7
Copy link
Member

LnL7 commented Nov 17, 2018

@c0bw3b getentropy was added in 10.12, we use a whitelist of symbols available from 10.10->10.14 to make sure binaries built on the latest version are compatible with older releases and the other way around.

With #47678 we'll probably drop support for <10.12 making it available, that should fix this issue.

@c0bw3b
Copy link
Contributor Author

c0bw3b commented Nov 17, 2018

Thanks @LnL7 for the explanation. I'll retry adding Darwin support in a later update then.

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

4 participants