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

john: build with recent gcc #39929

Merged
merged 2 commits into from May 5, 2018
Merged

john: build with recent gcc #39929

merged 2 commits into from May 5, 2018

Conversation

Mic92
Copy link
Member

@Mic92 Mic92 commented May 3, 2018

Motivation for this change

john the ripper contains a patch for gcc >= 5 and builds fine. I am not sure why this was pinned in the first place.

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-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/)
  • Fits CONTRIBUTING.md.

@Mic92
Copy link
Member Author

Mic92 commented May 3, 2018

@GrahamcOfBorg build john

@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: john

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: john

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

Failure on aarch64-linux (full log)

Attempted: john

Partial log (click to expand)

 extern size_t strlen (const char *__s)
               ^~~~~~
truecrypt_fmt_plug.c:314:95: error: 'num_iterations' undeclared (first use in this function)
    pbkdf2_sha512((const unsigned char*)key_buffer[i], strlen(key_buffer[i]), psalt->salt, 64, num_iterations, key, sizeof(key), 0);
                                                                                               ^~~~~~~~~~~~~~
make[1]: *** [Makefile:520: truecrypt_fmt_plug.o] Error 1
make[1]: Leaving directory '/build/john-1.8.0-jumbo-1/src'
make: *** [Makefile:185: default] Error 2
builder for '/nix/store/h4w2nw75xh967jsq8pi7x3hhbmla5aml-john-1.8.0-jumbo-1.drv' failed with exit code 2
�[31;1merror:�[0m build of '/nix/store/h4w2nw75xh967jsq8pi7x3hhbmla5aml-john-1.8.0-jumbo-1.drv' failed

@GrahamcOfBorg
Copy link

Failure on aarch64-linux (full log)

Attempted: john

Partial log (click to expand)

 extern size_t strlen (const char *__s)
               ^~~~~~
truecrypt_fmt_plug.c:314:95: error: 'num_iterations' undeclared (first use in this function)
    pbkdf2_sha512((const unsigned char*)key_buffer[i], strlen(key_buffer[i]), psalt->salt, 64, num_iterations, key, sizeof(key), 0);
                                                                                               ^~~~~~~~~~~~~~
make[1]: *** [Makefile:520: truecrypt_fmt_plug.o] Error 1
make[1]: Leaving directory '/build/john-1.8.0-jumbo-1/src'
make: *** [Makefile:185: default] Error 2
builder for '/nix/store/h4w2nw75xh967jsq8pi7x3hhbmla5aml-john-1.8.0-jumbo-1.drv' failed with exit code 2
�[31;1merror:�[0m build of '/nix/store/h4w2nw75xh967jsq8pi7x3hhbmla5aml-john-1.8.0-jumbo-1.drv' failed

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: john

Partial log (click to expand)

wrapping `/nix/store/bh75rbc1i4r53inpryqlp0svjp7vy3ib-john-1.8.0-jumbo-1/bin/dmg2john.py'...
wrapping `/nix/store/bh75rbc1i4r53inpryqlp0svjp7vy3ib-john-1.8.0-jumbo-1/bin/sipdump2john.py'...
wrapping `/nix/store/bh75rbc1i4r53inpryqlp0svjp7vy3ib-john-1.8.0-jumbo-1/bin/kwallet2john.py'...
wrapping `/nix/store/bh75rbc1i4r53inpryqlp0svjp7vy3ib-john-1.8.0-jumbo-1/bin/keystore2john.py'...
wrapping `/nix/store/bh75rbc1i4r53inpryqlp0svjp7vy3ib-john-1.8.0-jumbo-1/bin/openssl2john.py'...
wrapping `/nix/store/bh75rbc1i4r53inpryqlp0svjp7vy3ib-john-1.8.0-jumbo-1/bin/7z2john.py'...
wrapping `/nix/store/bh75rbc1i4r53inpryqlp0svjp7vy3ib-john-1.8.0-jumbo-1/bin/cracf2john.py'...
wrapping `/nix/store/bh75rbc1i4r53inpryqlp0svjp7vy3ib-john-1.8.0-jumbo-1/bin/office2john.py'...
wrapping `/nix/store/bh75rbc1i4r53inpryqlp0svjp7vy3ib-john-1.8.0-jumbo-1/bin/htdigest2john.py'...
/nix/store/bh75rbc1i4r53inpryqlp0svjp7vy3ib-john-1.8.0-jumbo-1

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: john

Partial log (click to expand)

/nix/store/bh75rbc1i4r53inpryqlp0svjp7vy3ib-john-1.8.0-jumbo-1

@xeji
Copy link
Contributor

xeji commented May 3, 2018

aarch64 failure is unrelated, I couldn't find any successful hydra build on aarch64 (looking back to March 2017). So let's exclude aarch64 for now.

@Mic92
Copy link
Member Author

Mic92 commented May 3, 2018

@GrahamcOfBorg build john

@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: john

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: john

Partial log (click to expand)

wrapping `/nix/store/bh75rbc1i4r53inpryqlp0svjp7vy3ib-john-1.8.0-jumbo-1/bin/kwallet2john.py'...
wrapping `/nix/store/bh75rbc1i4r53inpryqlp0svjp7vy3ib-john-1.8.0-jumbo-1/bin/ecryptfs2john.py'...
wrapping `/nix/store/bh75rbc1i4r53inpryqlp0svjp7vy3ib-john-1.8.0-jumbo-1/bin/encfs2john.py'...
wrapping `/nix/store/bh75rbc1i4r53inpryqlp0svjp7vy3ib-john-1.8.0-jumbo-1/bin/cracf2john.py'...
wrapping `/nix/store/bh75rbc1i4r53inpryqlp0svjp7vy3ib-john-1.8.0-jumbo-1/bin/efs2john.py'...
wrapping `/nix/store/bh75rbc1i4r53inpryqlp0svjp7vy3ib-john-1.8.0-jumbo-1/bin/pcap2john.py'...
wrapping `/nix/store/bh75rbc1i4r53inpryqlp0svjp7vy3ib-john-1.8.0-jumbo-1/bin/ml2john.py'...
wrapping `/nix/store/bh75rbc1i4r53inpryqlp0svjp7vy3ib-john-1.8.0-jumbo-1/bin/netscreen.py'...
wrapping `/nix/store/bh75rbc1i4r53inpryqlp0svjp7vy3ib-john-1.8.0-jumbo-1/bin/openssl2john.py'...
/nix/store/bh75rbc1i4r53inpryqlp0svjp7vy3ib-john-1.8.0-jumbo-1

@GrahamcOfBorg
Copy link

Failure on aarch64-linux (full log)

Attempted: john

Partial log (click to expand)

 extern size_t strlen (const char *__s)
               ^~~~~~
truecrypt_fmt_plug.c:314:95: error: 'num_iterations' undeclared (first use in this function)
    pbkdf2_sha512((const unsigned char*)key_buffer[i], strlen(key_buffer[i]), psalt->salt, 64, num_iterations, key, sizeof(key), 0);
                                                                                               ^~~~~~~~~~~~~~
make[1]: *** [Makefile:520: truecrypt_fmt_plug.o] Error 1
make[1]: Leaving directory '/build/john-1.8.0-jumbo-1/src'
make: *** [Makefile:185: default] Error 2
builder for '/nix/store/h4w2nw75xh967jsq8pi7x3hhbmla5aml-john-1.8.0-jumbo-1.drv' failed with exit code 2
�[31;1merror:�[0m build of '/nix/store/h4w2nw75xh967jsq8pi7x3hhbmla5aml-john-1.8.0-jumbo-1.drv' failed

@xeji
Copy link
Contributor

xeji commented May 3, 2018

why did it try aarch64 again?

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: john

Partial log (click to expand)

/nix/store/bh75rbc1i4r53inpryqlp0svjp7vy3ib-john-1.8.0-jumbo-1

@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: john

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

Failure on aarch64-linux (full log)

Attempted: john

Partial log (click to expand)

 extern size_t strlen (const char *__s)
               ^~~~~~
truecrypt_fmt_plug.c:314:95: error: 'num_iterations' undeclared (first use in this function)
    pbkdf2_sha512((const unsigned char*)key_buffer[i], strlen(key_buffer[i]), psalt->salt, 64, num_iterations, key, sizeof(key), 0);
                                                                                               ^~~~~~~~~~~~~~
make[1]: *** [Makefile:520: truecrypt_fmt_plug.o] Error 1
make[1]: Leaving directory '/build/john-1.8.0-jumbo-1/src'
make: *** [Makefile:185: default] Error 2
builder for '/nix/store/h4w2nw75xh967jsq8pi7x3hhbmla5aml-john-1.8.0-jumbo-1.drv' failed with exit code 2
�[31;1merror:�[0m build of '/nix/store/h4w2nw75xh967jsq8pi7x3hhbmla5aml-john-1.8.0-jumbo-1.drv' failed

@@ -69,6 +69,6 @@ stdenv.mkDerivation rec {
license = licenses.gpl2;
homepage = https://github.com/magnumripper/JohnTheRipper/;
maintainers = with maintainers; [ offline ];
platforms = platforms.unix;
platforms = filter (p: p != "aarch64-linux") platforms.unix;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Several other packages do this but it doesn't seem to work with the new platform logic, which I don't fully understand yet. The only working solution that I found so far is an old-style whitelist:
platforms = [ "x86_64-linux" "x86_64-darwin"];

@Mic92
Copy link
Member Author

Mic92 commented May 5, 2018

@GrahamcOfBorg build john

@GrahamcOfBorg
Copy link

No attempt on aarch64-linux (full log)

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

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: john

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: john

Partial log (click to expand)

wrapping `/nix/store/bh75rbc1i4r53inpryqlp0svjp7vy3ib-john-1.8.0-jumbo-1/bin/openssl2john.py'...
wrapping `/nix/store/bh75rbc1i4r53inpryqlp0svjp7vy3ib-john-1.8.0-jumbo-1/bin/office2john.py'...
wrapping `/nix/store/bh75rbc1i4r53inpryqlp0svjp7vy3ib-john-1.8.0-jumbo-1/bin/blockchain2john.py'...
wrapping `/nix/store/bh75rbc1i4r53inpryqlp0svjp7vy3ib-john-1.8.0-jumbo-1/bin/sxc2john.py'...
wrapping `/nix/store/bh75rbc1i4r53inpryqlp0svjp7vy3ib-john-1.8.0-jumbo-1/bin/lotus2john.py'...
wrapping `/nix/store/bh75rbc1i4r53inpryqlp0svjp7vy3ib-john-1.8.0-jumbo-1/bin/cracf2john.py'...
wrapping `/nix/store/bh75rbc1i4r53inpryqlp0svjp7vy3ib-john-1.8.0-jumbo-1/bin/strip2john.py'...
wrapping `/nix/store/bh75rbc1i4r53inpryqlp0svjp7vy3ib-john-1.8.0-jumbo-1/bin/7z2john.py'...
wrapping `/nix/store/bh75rbc1i4r53inpryqlp0svjp7vy3ib-john-1.8.0-jumbo-1/bin/openbsd_softraid2john.py'...
/nix/store/bh75rbc1i4r53inpryqlp0svjp7vy3ib-john-1.8.0-jumbo-1

@GrahamcOfBorg
Copy link

No attempt on aarch64-linux (full log)

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

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: john

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: john

Partial log (click to expand)

wrapping `/nix/store/bh75rbc1i4r53inpryqlp0svjp7vy3ib-john-1.8.0-jumbo-1/bin/mcafee_epo2john.py'...
wrapping `/nix/store/bh75rbc1i4r53inpryqlp0svjp7vy3ib-john-1.8.0-jumbo-1/bin/1password2john.py'...
wrapping `/nix/store/bh75rbc1i4r53inpryqlp0svjp7vy3ib-john-1.8.0-jumbo-1/bin/efs2john.py'...
wrapping `/nix/store/bh75rbc1i4r53inpryqlp0svjp7vy3ib-john-1.8.0-jumbo-1/bin/cracf2john.py'...
wrapping `/nix/store/bh75rbc1i4r53inpryqlp0svjp7vy3ib-john-1.8.0-jumbo-1/bin/strip2john.py'...
wrapping `/nix/store/bh75rbc1i4r53inpryqlp0svjp7vy3ib-john-1.8.0-jumbo-1/bin/ecryptfs2john.py'...
wrapping `/nix/store/bh75rbc1i4r53inpryqlp0svjp7vy3ib-john-1.8.0-jumbo-1/bin/odf2john.py'...
wrapping `/nix/store/bh75rbc1i4r53inpryqlp0svjp7vy3ib-john-1.8.0-jumbo-1/bin/openbsd_softraid2john.py'...
wrapping `/nix/store/bh75rbc1i4r53inpryqlp0svjp7vy3ib-john-1.8.0-jumbo-1/bin/htdigest2john.py'...
/nix/store/bh75rbc1i4r53inpryqlp0svjp7vy3ib-john-1.8.0-jumbo-1

@xeji xeji merged commit 38ae210 into NixOS:master May 5, 2018
@Mic92 Mic92 deleted the john branch May 7, 2018 08:56
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