John-The-Ripper Jumbo 1.8.0 compile/make Fails in Fedora 25, GCC5

Let me guess, you’re using GCC5 and not 4.92 or less.

If you’re getting this error:

dynamic_fmt.o: In function `DynamicFunc__crypt_md5_to_input_raw_Overwrite_NoLen': /home/dave/wksp/john/src/dynamic_fmt.c:4989: undefined reference to `MD5_body_for_thread'
dynamic_fmt.o: In function `DynamicFunc__crypt_md5': /home/dave/wksp/john/src/dynamic_fmt.c:4425: undefined reference to `MD5_body_for_thread'
dynamic_fmt.o: In function `DynamicFunc__crypt_md5_in1_to_out2': /home/dave/wksp/john/src/dynamic_fmt.c:4732: undefined reference to `MD5_body_for_thread'
dynamic_fmt.o: In function `DynamicFunc__crypt_md5_to_input_raw': /home/dave/wksp/john/src/dynamic_fmt.c:4903: undefined reference to `MD5_body_for_thread'
dynamic_fmt.o: In function `DynamicFunc__crypt_md5_to_input_raw_Overwrite_NoLen_but_setlen_in_SSE': /home/dave/wksp/john/src/dynamic_fmt.c:4946: undefined reference to `MD5_body_for_thread'
dynamic_fmt.o:/home/dave/wksp/john/src/dynamic_fmt.c:4817: more undefined references to `MD5_body_for_thread' follow
collect2: error: ld returned 1 exit status
Makefile:294: recipe for target '../run/john' failed
make[1]: *** [../run/john] Error 1
Makefile:185: recipe for target 'default' failed
make: *** [default] Error 2

Apply this patch to MD5_std.c

--- MD5_std.c	2014-05-16 09:40:40.000000000 -0400
+++ MD5_std.c	2017-02-01 17:39:55.205661494 -0500
@@ -479,11 +479,11 @@
  * x86-64 implies a fairly recent CPU, so presumably its L1 instruction cache
  * is large enough.
  */
-#ifdef __x86_64__
-#define MAYBE_INLINE_BODY MAYBE_INLINE
-#else
+//#ifdef __x86_64__
+//#define MAYBE_INLINE_BODY MAYBE_INLINE
+//#else
 #define MAYBE_INLINE_BODY
-#endif
+//#endif
 
 #if !MD5_X2

Leave a Reply