Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.

undefined reference to `MD5_body'

kuh3h3
Beginner
466 Views

Sorry . i don`t know how to delete original topic.

 reandr  ~  john-1.8.0-jumbo-1  src  make -f Makefile.legacy linux-x86-64-icc^C
 reandr  ~  john-1.8.0-jumbo-1  src  uname -a
Linux kuh3h3 4.5.4-200.fc23.x86_64 #1 SMP Wed May 11 17:54:22 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
 reandr  ~  john-1.8.0-jumbo-1  src  icc -V
Intel(R) C Intel(R) 64 Compiler for applications running on Intel(R) 64, Version 16.0.3.210 Build 20160415
Copyright (C) 1985-2016 Intel Corporation.  All rights reserved.
FOR NON-COMMERCIAL USE ONLY

 

 

3_fmt.o x86-64.o sse-intrinsics.o -lm -lssl -lcrypto -ipo -static-intel -lcrypt -ldl -lz  -s -lgmp  aes/aes.a -o ../run/john
icc: warning #10237: -lcilkrts linked in dynamically, static library not available
ipo: warning #11003: no IR in object file x86-64.o; was the source file compiled with -ipo
ipo: warning #11021: unresolved MD5_body
        Referenced in /tmp/ipo_iccuUzcx1.o
HDAA_fmt_plug.c(601): (col. 2) warning #13203: No EMMS instruction before call to function
/tmp/ipo_iccuUzcx11.o: In function `__possMP_DynamicFunc__crypt2_md5':
ipo_out1.c:(.text.hot00012+0x54bf): undefined reference to `MD5_body'
/tmp/ipo_iccuUzcx11.o: In function `DynamicFunc__crypt_md5_in2_to_out1':
ipo_out1.c:(.text.hot00024+0x4812f): undefined reference to `MD5_body'
/tmp/ipo_iccuUzcx11.o: In function `DynamicFunc__crypt_md5_in1_to_out2':
ipo_out1.c:(.text.hot00024+0x48c14): undefined reference to `MD5_body'
/tmp/ipo_iccuUzcx11.o: In function `DynamicFunc__POCrypt':
ipo_out1.c:(.text.hot00024+0x497cb): undefined reference to `MD5_body'
/tmp/ipo_iccuUzcx11.o: In function `DynamicFunc__crypt_md5_to_input_raw_Overwrite_NoLen':
ipo_out1.c:(.text.hot00024+0x4993c): undefined reference to `MD5_body'
/tmp/ipo_iccuUzcx11.o:ipo_out1.c:(.text.hot00024+0x49c3b): more undefined references to `MD5_body' follow
Makefile.legacy:2018: recipe for target '../run/john' failed
make[1]: *** [../run/john] Error 1
make[1]: Leaving directory '/home/reandr/john-1.8.0-jumbo-1/src'
Makefile.legacy:540: recipe for target 'linux-x86-64-icc' failed
make: *** [linux-x86-64-icc] Error 2

 

 

0 Kudos
2 Replies
kuh3h3
Beginner
466 Views

maybe already known problem.

https://github.com/magnumripper/JohnTheRipper/issues/1093

diff --git a/src/MD5_std.c b/src/MD5_std.c
index 40bf79e..3c1f4ca 100644
--- a/src/MD5_std.c
+++ b/src/MD5_std.c
@@ -480,7 +480,8 @@ extern void MD5_body(MD5_word x[15], MD5_word out[4]);
  * is large enough.
  */
 #ifdef __x86_64__
-#define MAYBE_INLINE_BODY MAYBE_INLINE
+//#define MAYBE_INLINE_BODY MAYBE_INLINE
+#define MAYBE_INLINE_BODY
 #else
 #define 

 

compile ok now. test run ok

0 Kudos
KitturGanesh
Employee
466 Views

Hi @kuh3h3
Nope, this is not a known issue with what I am aware of .  Can you attach a reproducer preferably a preprocessed file (compile with -P option, which generates the .i file) and the command line options used as well?  This would help me reproduce the issue and file with our developers - appreciate much.

Kittur

0 Kudos
Reply