vBulletin Search Engine Optimization
| |||||||
| Register | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| Hi, Has anyone been succesfull in compiling John the ripper in AIX (4.3.3) ? Here's the error that I'm having: # make aix-ppc-cc ln -sf ppc.h arch.h make ../run/john ../run/unshadow ../run/unafs ../run/unique \ JOHN_OBJS="DES_bs.o DES_bs_b.o DES_fmt.o DES_std.o BSDI_fmt.o MD5_fmt.o MD5_std.o BF_fmt.o BF_std.o AFS_fmt.o LM_fmt.o batch.o bench.o charset.o common.o compiler.o config.o cracker.o external.o formats.o getopt.o idle.o inc.o john.o list.o loader.o logger.o math.o memory.o misc.o options.o params.o path.o recovery.o rpp.o rules.o signals.o single.o status.o tty.o wordlist.o unshadow.o unafs.o unique.o" \ CPP=cc CC=cc AS=cc LD=cc \ CFLAGS="-c -qunroll -qarch=ppc -qtune=601 -qchars=signed" \ LDFLAGS="-s -lbsd" \ OPT_NORMAL="-O2" \ OPT_INLINE="-O3 -Q=99 -w" make[1]: Entering directory `/saq/home/users/lebjf000/john/john-1.6/src' cc -c -qunroll -qarch=ppc -qtune=601 -qchars=signed -O2 DES_bs.c sed "s/unsigned long/ARCH_WORD/" nonstd.c > DES_bs_s.c cc -c -qunroll -qarch=ppc -qtune=601 -qchars=signed -O3 -Q=99 -w DES_bs_b.c cc -c -qunroll -qarch=ppc -qtune=601 -qchars=signed -O2 DES_fmt.c cc -c -qunroll -qarch=ppc -qtune=601 -qchars=signed -O2 DES_std.c cc -c -qunroll -qarch=ppc -qtune=601 -qchars=signed -O2 BSDI_fmt.c cc -c -qunroll -qarch=ppc -qtune=601 -qchars=signed -O2 MD5_fmt.c cc -c -qunroll -qarch=ppc -qtune=601 -qchars=signed -O2 MD5_std.c cc -c -qunroll -qarch=ppc -qtune=601 -qchars=signed -O2 BF_fmt.c cc -c -qunroll -qarch=ppc -qtune=601 -qchars=signed -O2 BF_std.c cc -c -qunroll -qarch=ppc -qtune=601 -qchars=signed -O2 AFS_fmt.c cc -c -qunroll -qarch=ppc -qtune=601 -qchars=signed -O2 LM_fmt.c cc -c -qunroll -qarch=ppc -qtune=601 -qchars=signed -O2 batch.c "math.h", line 15.3: 1506-334 (S) Identifier int64 has already been defined on line 625 of "/usr/include/sys/inttypes.h". make[1]: *** [batch.o] Error 1 make[1]: Leaving directory `/john/john-1.6/src' make: *** [aix-ppc-cc] Error 2 # Thanks JF Leblond jfleblond AT hotmail.com |
| |||
| I forgot to include this in my message: Here's the content of math.h: /* * This file is part of John the Ripper password cracker, * Copyright (c) 1996-98 by Solar Designer */ #include "arch.h" #include "math.h" void add32to64(int64 *dst, unsigned int src) { unsigned int saved; saved = dst->lo; dst->lo += src; #if ARCH_INT_GT_32 dst->lo &= 0xFFFFFFFF; #endif if (dst->lo < saved) dst->hi++; } void add64to64(int64 *dst, int64 *src) { add32to64(dst, src->lo); dst->hi += src->hi; } void neg64(int64 *dst) { dst->lo = ~dst->lo; dst->hi = ~dst->hi; add32to64(dst, 1); } static void add32to64m(int64 *dst, unsigned int a) { unsigned int saved; saved = dst->lo; dst->lo += a << 16; #if ARCH_INT_GT_32 dst->lo &= 0xFFFFFFFF; #endif dst->hi += ((dst->lo < saved) ? 1 : 0) + (a >> 16); } void mul32by32(int64 *dst, unsigned int m1, unsigned int m2) { dst->lo = (m1 & 0xFFFF) * (m2 & 0xFFFF); dst->hi = 0; add32to64m(dst, (m1 >> 16) * (m2 & 0xFFFF)); add32to64m(dst, (m2 >> 16) * (m1 & 0xFFFF)); dst->hi += (m1 >> 16) * (m2 >> 16); } void mul64by32(int64 *dst, unsigned int m) { int64 tmp; mul32by32(&tmp, dst->hi, m); dst->hi = tmp.lo; mul32by32(&tmp, dst->lo, m); dst->lo = tmp.lo; dst->hi += tmp.hi; } void pow64of32(int64 *dst, unsigned int x, int n) { dst->lo = 1; dst->hi = 0; while (n--) mul64by32(dst, x); } unsigned int div64by32lo(int64 *src, unsigned int d) { unsigned int lo, hi, q, s, mask; lo = src->lo; hi = src->hi; #if ARCH_INT_GT_32 hi += lo >> 32; lo &= 0xFFFFFFFF; #endif if (hi >= d) return 0xFFFFFFFF; q = 0; mask = 0x80000000; do { s = hi; hi = (hi << 1) | (lo >> 31); lo <<= 1; #if ARCH_INT_GT_32 lo &= 0xFFFFFFFF; #endif if ((s & 0x80000000) || hi >= d) { hi -= d; q |= mask; } } while (mask >>= 1); return q; } void div64by32(int64 *dst, unsigned int d) { int64 tmp; tmp.lo = dst->lo; tmp.hi = dst->hi % d; dst->lo = div64by32lo(&tmp, d); dst->hi /= d; } Any help would be greatly appreciated. Regards JF Leblond jfleblond AT hotmail.com |
| |||
| Please disregard the previous post. It was math.c instead of math.h: Here's math.h: /* * This file is part of John the Ripper password cracker, * Copyright (c) 1996-98 by Solar Designer */ /* * 64 bit integer math functions. */ #ifndef _JOHN_MATH_H #define _JOHN_MATH_H typedef struct { unsigned int lo, hi; } int64; extern void add32to64(int64 *dst, unsigned int src); extern void add64to64(int64 *dst, int64 *src); extern void neg64(int64 *dst); extern void mul32by32(int64 *dst, unsigned int m1, unsigned int m2); extern void mul64by32(int64 *dst, unsigned int m); extern void pow64of32(int64 *dst, unsigned int x, int n); extern unsigned int div64by32lo(int64 *src, unsigned int d); extern void div64by32(int64 *dst, unsigned int d); #endif Any help would be greatly appreciated. Regards JF Leblond jfleblond AT hotmail.com |
| ||||
| For nayone interested... The mailing list of John the Ripper helped me on this. The solution is to install the development version of John. You still need the production version tar file in order to get the .chr files. Regards, JF Leblond |