Here are the error messages. It looks like there are some OpenSSL problems in the code when OpenCL is enabled. gmake[2]: Entering directory '/wrkdirs/usr/ports/security/john/work/john-1.8.0-jumbo-1/src' cc -DAC_BUILT -march=native -c -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -I/usr/local/include -I/usr/include -DARCH_LITTLE_ENDIAN=1 -DJOHN_SYSTEMWIDE=1 -Wall -Wdeclaration-after-statement -fomit-frame-pointer -Wno-deprecated-declarations -Wno-format-extra-args -Qunused-arguments -D__BSD_VISIBLE -I/usr/include -fopenmp -D_THREAD_SAFE -pthread -DHAVE_OPENCL -D_THREAD_SAFE -pthread -funroll-loops opencl_dmg_fmt_plug.c -o opencl_dmg_fmt_plug.o opencl_dmg_fmt_plug.c:527:17: error: variable has incomplete type 'EVP_CIPHER_CTX' (aka 'struct evp_cipher_ctx_st') EVP_CIPHER_CTX ctx; ^ /usr/include/openssl/ossl_typ.h:90:16: note: forward declaration of 'struct evp_cipher_ctx_st' typedef struct evp_cipher_ctx_st EVP_CIPHER_CTX; ^ opencl_dmg_fmt_plug.c:575:18: error: variable has incomplete type 'EVP_CIPHER_CTX' (aka 'struct evp_cipher_ctx_st') EVP_CIPHER_CTX ctx; ^ /usr/include/openssl/ossl_typ.h:90:16: note: forward declaration of 'struct evp_cipher_ctx_st' typedef struct evp_cipher_ctx_st EVP_CIPHER_CTX; ^ opencl_dmg_fmt_plug.c:582:12: error: variable has incomplete type 'HMAC_CTX' (aka 'struct hmac_ctx_st') HMAC_CTX hmacsha1_ctx; ^ /usr/include/openssl/ossl_typ.h:102:16: note: forward declaration of 'struct hmac_ctx_st' typedef struct hmac_ctx_st HMAC_CTX; ^ opencl_dmg_fmt_plug.c:600:3: warning: implicit declaration of function 'HMAC_CTX_init' is invalid in C99 [-Wimplicit-function-declaration] HMAC_CTX_init(&hmacsha1_ctx); ^ opencl_dmg_fmt_plug.c:604:3: warning: implicit declaration of function 'HMAC_CTX_cleanup' is invalid in C99 [-Wimplicit-function-declaration] HMAC_CTX_cleanup(&hmacsha1_ctx); ^ 2 warnings and 3 errors generated. gmake[2]: *** [Makefile:502: opencl_dmg_fmt_plug.o] Error 1 gmake[2]: Leaving directory '/wrkdirs/usr/ports/security/john/work/john-1.8.0-jumbo-1/src' This problem was found when building john on a desktop machine. To reproduce it in poudriere, adds opencl and ocl-icd to the build environment: diff --git a/security/john/Makefile b/security/john/Makefile index 287d45e8982..153a61feb89 100644 --- a/security/john/Makefile +++ b/security/john/Makefile @@ -19,6 +19,7 @@ LICENSE= GPLv2 BROKEN_mips64= cannot detect CPU architecture LIB_DEPENDS= libgmp.so:math/gmp +BUILD_DEPENDS= opencl>=0:devel/opencl ocl-icd>=0:devel/ocl-icd USES= gmake shebangfix ssl tar:xz GNU_CONFIGURE= yes
Created attachment 219502 [details] build log
I have the same issue on FreeBSD 12.2
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=4b7f7b97f1fffa5b008504c7255289f5a2948ba2 commit 4b7f7b97f1fffa5b008504c7255289f5a2948ba2 Author: Alexey Dokuchaev <danfe@FreeBSD.org> AuthorDate: 2021-11-26 07:34:18 +0000 Commit: Alexey Dokuchaev <danfe@FreeBSD.org> CommitDate: 2021-11-26 07:34:25 +0000 security/john: belatedly update JtR to version 1.9.0-jumbo-1 Despite what Solar Designer had said earlier, community enhancements were not offered as separate patch, so the top comment about JUMBO option still stands. Because supported SIMD features are detected during configure, force SSE2 for x86 packages as reasonable default which most modern CPUs should support these days. Ideally we should probably do several build rounds and produce binaries targeting different SIMD features (e.g. like Arch Linux is doing this), but that's the task for another day. Actualize the lists of binaries and symlinks (some programs had become standalone, others had been converted to scripts offered as extras). Drop BROKEN_mips64: it was added in r425682 five years ago for a different version, since then similar breakage for aarch64 had been fixed, and looking at the configure script, mips64 should be supported (even if it's really not, that particular error message is no longer accurate per grepping the sources). Adjust LICENSE (GPLv2 or later) and fix the build with OpenCL support. PR: 247229, 254922 security/john/Makefile | 75 +++--- security/john/distinfo | 6 +- security/john/files/patch-Makefile.in (gone) | 61 ----- security/john/files/patch-Makefile.legacy (gone) | 114 --------- .../john/files/patch-bitcoin__fmt__plug.c (gone) | 134 ---------- security/john/files/patch-dmg__fmt__plug.c (gone) | 156 ----------- .../john/files/patch-encfs__fmt__plug.c (gone) | 113 -------- security/john/files/patch-git-4442241b4c (new) | 253 ++++++++++++++++++ security/john/files/patch-git-4f5f6fc8dc (new) | 14 + security/john/files/patch-gpg__fmt__plug.c (gone) | 117 --------- security/john/files/patch-john.c (gone) | 31 --- security/john/files/patch-jumbo.c (gone) | 26 -- security/john/files/patch-jumbo.h (gone) | 13 - security/john/files/patch-rar__fmt__plug.c (gone) | 254 ------------------ .../john/files/patch-truecrypt__fmt__plug.c (gone) | 13 - security/john/files/patch-unrar.c (gone) | 25 -- security/john/files/patch-unrar.h (gone) | 25 -- security/john/files/patch-wordlist.c (gone) | 14 - security/john/files/patch-wpapsk.h (gone) | 62 ----- security/john/pkg-plist | 285 +++++++++++++++++++-- 20 files changed, 570 insertions(+), 1221 deletions(-)
Should be fixed with the recent port update commit; please reopen if you'd still encounter this issue.