# johntheripper-1.7.9-r7 and mpi compile crashes

## honp

Hi, can anybody compile johntheripper with mpi support? Is it all information you need?  :Smile: 

This is what i get:

```
LT-jbicek ~ # USE="mpi mpi-threads threads -numa" emerge johntheripper 

 * IMPORTANT: 1 news items need reading for repository 'mva'.

 * IMPORTANT: 8 news items need reading for repository 'gentoo'.

 * Use eselect news to read news items.

Calculating dependencies... done!

>>> Verifying ebuild manifests

>>> Emerging (1 of 1) app-crypt/johntheripper-1.7.9-r7

 * john-1.7.9.tar.bz2 SHA256 SHA512 WHIRLPOOL size ;-) ...                                                                                                               [ ok ]

 * john-1.7.9-jumbo-7.diff.gz SHA256 SHA512 WHIRLPOOL size ;-) ...                                                                                                       [ ok ]

>>> Unpacking source...

>>> Unpacking john-1.7.9.tar.bz2 to /var/tmp/portage/app-crypt/johntheripper-1.7.9-r7/work

>>> Unpacking john-1.7.9-jumbo-7.diff.gz to /var/tmp/portage/app-crypt/johntheripper-1.7.9-r7/work

>>> Source unpacked in /var/tmp/portage/app-crypt/johntheripper-1.7.9-r7/work

>>> Preparing source in /var/tmp/portage/app-crypt/johntheripper-1.7.9-r7/work/john-1.7.9 ...

 * Applying john-1.7.9-jumbo-7.diff ...                                                                                                                                  [ ok ]

 * Applying johntheripper-1.7.9-ppc-compile-fix.patch ...                                                                                                                [ ok ]

 * Applying johntheripper-1.7.6-cflags.patch ...                                                                                                                         [ ok ]

 * Applying johntheripper-1.7.3.1-mkdir-sandbox.patch ...                                                                                                                [ ok ]

>>> Source prepared.

>>> Configuring source in /var/tmp/portage/app-crypt/johntheripper-1.7.9-r7/work/john-1.7.9 ...

>>> Source configured.

>>> Compiling source in /var/tmp/portage/app-crypt/johntheripper-1.7.9-r7/work/john-1.7.9 ...

make -j5 -C src/ CPP=mpicxx CC=mpicc AS=mpicc LD=mpicc 'CFLAGS=-c -Wall -include ../config.gentoo -march=native -O2 -pipe -fPIC -fPIE -fopenmp ' 'LDFLAGS=-Wl,-O1 -Wl,--as-needed ' OPT_NORMAL= OMPFLAGS=-fopenmp 'JOHN_OBJS=${JOHN_COMMON_OBJS} ' linux-x86-64 

make: Entering directory `/var/tmp/portage/app-crypt/johntheripper-1.7.9-r7/work/john-1.7.9/src'

ln -f -s x86-64.h arch.h

make ../run/john ../run/unshadow ../run/unafs ../run/unique ../run/undrop ../run/ssh2john ../run/pdf2john ../run/rar2john ../run/zip2john ../run/genmkvpwd ../run/mkvcalcproba ../run/calc_stat ../run/tgtsnarf ../run/racf2john ../run/mozilla2john ../run/hccap2john ../run/pwsafe2john ../run/raw2dyna ../run/keepass2john ../run/keychain2john john.local.conf \

   JOHN_OBJS="john-mpi.o DES_fmt.o DES_std.o DES_bs.o DES_bs_b.o BSDI_fmt.o MD5_fmt.o MD5_std.o BF_fmt.o BF_std.o AFS_fmt.o LM_fmt.o trip_fmt.o timer.o md5_go.o md5_eq.o md5.o rc4.o hmacmd5.o base64.o md4.o dynamic_fmt.o dynamic_parser.o dynamic_preloads.o dynamic_utils.o rawSHA224_fmt.o rawSHA256_fmt.o rawSHA384_fmt.o rawSHA512_fmt.o hmacMD5_fmt.o hmacSHA1_fmt.o hmacSHA224_fmt.o hmacSHA256_fmt.o hmacSHA384_fmt.o hmacSHA512_fmt.o episerver_fmt.o keepass_fmt.o pwsafe_fmt.o XSHA512_fmt.o hmailserver_fmt.o dragonfly3_fmt.o dragonfly4_fmt.o drupal7_fmt.o django_fmt.o cryptsha256_fmt.o cryptsha512_fmt.o SybaseASE_fmt.o SKEY_fmt.o ssh_fmt.o ssh2john.o pdf_fmt.o pdf2john.o pdfcrack_common.o pdfcrack_md5.o pdfparser.o pdfcrack.o pdfcrack_rc4.o unrarcmd.o unrarfilter.o unrarhlp.o unrar.o unrarppm.o unrarvm.o rar_fmt.o rar2john.o rawSHA0_fmt.o zip_fmt.o zip2john.o gladman_hmac.o gladman_pwd2key.o racf2john.o pwsafe2john.o keepass2john.o keychain2john.o wpapsk_fmt.o hccap2john.o mozilla_fmt.o KeyDBCracker.o mozilla_des.o lowpbe.o mozilla2john.o gost_plug.o rawSHA1_fmt_plug.o oracle_fmt_plug.o mskrb5_fmt_plug.o wbb3_fmt_plug.o osc_fmt_plug.o sapB_fmt_plug.o DOMINOSEC_fmt_plug.o keychain_fmt_plug.o sha1_gen_fmt_plug.o office_fmt_plug.o NT_fmt_plug.o PHPS_fmt_plug.o odf_fmt_plug.o rawMD5_fmt_plug.o nt2_fmt_plug.o mysql_fmt_plug.o racf_fmt_plug.o pixMD5_fmt_plug.o KRB5_std_plug.o MSCHAPv2_fmt_plug.o gost_fmt_plug.o KRB4_fmt_plug.o IPB2_fmt_plug.o NS_fmt_plug.o pkzip_fmt_plug.o NETNTLM_fmt_plug.o oracle11_fmt_plug.o NETLMv2_fmt_plug.o mssql05_fmt_plug.o XSHA_fmt_plug.o rawmd5u_fmt_plug.o mysqlSHA1_fmt_plug.o EPI_fmt_plug.o KRB5_fmt_plug.o vnc_fmt_plug.o NETLM_fmt_plug.o crc32_fmt_plug.o rawMD4_fmt_plug.o NETNTLMv2_fmt_plug.o phpassMD5_fmt_plug.o salted_sha1_fmt_plug.o sip_fmt_plug.o HDAA_fmt_plug.o rawSHA1_linkedIn_fmt_plug.o PO_fmt_plug.o NETSPLITLM_fmt_plug.o mssql-old_fmt_plug.o lotus5_fmt_plug.o mscash1_fmt_plug.o mscash2_fmt_plug.o md4_gen_fmt_plug.o nsldap_fmt_plug.o DMD5_fmt_plug.o KRB4_std_plug.o sapG_fmt_plug.o mediawiki_fmt_plug.o BFEgg_fmt_plug.o rawSHA1_ng_fmt.o plugin.o dummy.o batch.o bench.o charset.o common.o compiler.o config.o cracker.o crc32.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 mkv.o mkvlib.o fake_salts.o win32_memmap.o unicode.o unshadow.o unafs.o undrop.o unique.o  c3_fmt.o x86-64.o sse-intrinsics.o" \

   CFLAGS="-c -Wall -include ../config.gentoo -march=native -O2 -pipe -fPIC -fPIE -fopenmp  -DHAVE_CRYPT -DHAVE_DL" \

   LDFLAGS="-Wl,-O1 -Wl,--as-needed  -lssl -lcrypto -lm -lz  -fopenmp  -lcrypt -ldl"

make[1]: Entering directory `/var/tmp/portage/app-crypt/johntheripper-1.7.9-r7/work/john-1.7.9/src'

mpicc -c -Wall -include ../config.gentoo -march=native -O2 -pipe -fPIC -fPIE -fopenmp  -DHAVE_CRYPT -DHAVE_DL  john-mpi.c

mpicc -c -Wall -include ../config.gentoo -march=native -O2 -pipe -fPIC -fPIE -fopenmp  -DHAVE_CRYPT -DHAVE_DL  DES_fmt.c

mpicc -c -Wall -include ../config.gentoo -march=native -O2 -pipe -fPIC -fPIE -fopenmp  -DHAVE_CRYPT -DHAVE_DL  DES_std.c

make[1]: *** [john-mpi.o] Neoprávněný přístup do paměti (SIGSEGV)

make[1]: *** Waiting for unfinished jobs....

make[1]: *** [DES_fmt.o] Neoprávněný přístup do paměti (SIGSEGV)

make[1]: *** [DES_std.o] Neoprávněný přístup do paměti (SIGSEGV)

make[1]: Leaving directory `/var/tmp/portage/app-crypt/johntheripper-1.7.9-r7/work/john-1.7.9/src'

make: *** [linux-x86-64] Error 2

make: Leaving directory `/var/tmp/portage/app-crypt/johntheripper-1.7.9-r7/work/john-1.7.9/src'

 * ERROR: app-crypt/johntheripper-1.7.9-r7 failed (compile phase):

 *   emake failed

 * 

 * If you need support, post the output of `emerge --info '=app-crypt/johntheripper-1.7.9-r7'`,

 * the complete build log and the output of `emerge -pqv '=app-crypt/johntheripper-1.7.9-r7'`.

 * The complete build log is located at '/var/tmp/portage/app-crypt/johntheripper-1.7.9-r7/temp/build.log'.

 * The ebuild environment file is located at '/var/tmp/portage/app-crypt/johntheripper-1.7.9-r7/temp/environment'.

 * Working directory: '/var/tmp/portage/app-crypt/johntheripper-1.7.9-r7/work/john-1.7.9'

 * S: '/var/tmp/portage/app-crypt/johntheripper-1.7.9-r7/work/john-1.7.9'

>>> Failed to emerge app-crypt/johntheripper-1.7.9-r7, Log file:
```

----------

## NeddySeagoon

honp,

It works for me on ~amd64 with the /no-multilib profile.

I have 

```
app-crypt/johntheripper-1.7.9-r7  USE="custom-cflags mpi openmp sse2 -cuda -minimal (-mmx) -opencl"
```

Google says that "Neoprávněný přístup do paměti" means  "Unauthorized access to memory"

That suggests either a compiler problem or a hardware problem.  I'm using gcc-4.7.3

----------

## jasn

Could this be related to this bug? What happens if you add;

```
FAKEROOTKEY=1
```

to your /etc/portage/bashrc?

Good Luck..

----------

