Homebrew / legacy-homebrew

💀 The former home of Homebrew/homebrew (deprecated)
https://brew.sh
26.97k stars 11.35k forks source link

john-jumbo: Fails to build under 10.9.1 #26531

Closed kronicd closed 10 years ago

kronicd commented 10 years ago

john-jumbo is failing to build under 10.9.1

$ brew install john-jumbo
==> Downloading http://www.openwall.com/john/g/john-1.7.9.tar.bz2
Already downloaded: /Library/Caches/Homebrew/john-jumbo-1.7.9.tar.bz2
==> Downloading patches
######################################################################## 100.0%
==> Patching
patching file src/params.h
patching file README-jumbo
patching file doc/BUGS
patching file doc/CHANGES-jumbo
patching file doc/CHANGES-jumbo.git
patching file doc/CONFIG
patching file doc/CONTACT
patching file doc/CREDITS-jumbo
patching file doc/DYNAMIC
patching file doc/DYNAMIC_SCRIPTING
patching file doc/ENCODINGS
patching file doc/EPi.patch.README
patching file doc/HDAA_README
patching file doc/LICENSE
patching file doc/LICENSE.mpi
patching file doc/MARKOV
patching file doc/NETNTLM_README
patching file doc/OFFICE
patching file doc/OPTIONS
patching file doc/README-CUDA
patching file doc/README.bash-completion
patching file doc/README.mozilla
patching file doc/README.mpi
patching file doc/README.opencl
patching file doc/README.pwsafe
patching file doc/RULES
patching file doc/SIPcrack-LICENSE
patching file doc/pass_gen.Manifest
patching file doc/pdfcrack_README
patching file doc/pdfcrack_TODO
patching file run/benchmark-unify
patching file run/cracf2john.py
patching file run/dictionary.rfc2865
patching file run/dumb16.conf
patching file run/dumb32.conf
patching file run/dynamic.conf
patching file run/genincstats.rb
patching file run/john.bash_completion
patching file run/john.conf
patching file run/ldif2john.pl
patching file run/lion2john-alt.pl
patching file run/lion2john.pl
patching file run/netntlm.pl
patching file run/netscreen.py
patching file run/odf2john.py
patching file run/pass_gen.pl
patching file run/radius2john.pl
patching file run/relbench
patching file run/sap2john.pl
patching file run/sha-dump.pl
patching file run/sha-test.pl
patching file run/sipdump2john.py
patching file run/stats
patching file src/AFS_fmt.c
patching file src/BFEgg_fmt_plug.c
patching file src/BF_fmt.c
patching file src/BSDI_fmt.c
patching file src/DES_bs.c
patching file src/DES_fmt.c
patching file src/DES_std.c
patching file src/DES_std.h
patching file src/DMD5_fmt_plug.c
patching file src/DOMINOSEC_fmt_plug.c
patching file src/EPI_fmt_plug.c
patching file src/HDAA_fmt_plug.c
patching file src/IPB2_fmt_plug.c
patching file src/KRB4_fmt_plug.c
patching file src/KRB4_std.h
patching file src/KRB4_std_plug.c
patching file src/KRB5_fmt_plug.c
patching file src/KRB5_std.h
patching file src/KRB5_std_plug.c
patching file src/KeyDBCracker.c
patching file src/KeyDBCracker.h
patching file src/LM_fmt.c
patching file src/MD5_fmt.c
patching file src/MD5_std.c
patching file src/MD5_std.h
patching file src/MSCHAPv2_fmt_plug.c
patching file src/Makefile
patching file src/NETLM_fmt_plug.c
patching file src/NETLMv2_fmt_plug.c
patching file src/NETNTLM_fmt_plug.c
patching file src/NETNTLMv2_fmt_plug.c
patching file src/NETSPLITLM_fmt_plug.c
patching file src/NS_fmt_plug.c
patching file src/NT_fmt_plug.c
patching file src/PHPS_fmt_plug.c
patching file src/PO_fmt_plug.c
patching file src/SIPdump.c
patching file src/SIPdump.h
patching file src/SKEY_fmt.c
patching file src/SybaseASE_fmt.c
patching file src/UnicodeData.h
patching file src/XSHA512_fmt.c
patching file src/XSHA_fmt_plug.c
patching file src/alghmac.h
patching file src/base64.c
patching file src/base64.h
patching file src/bench.c
patching file src/bf_tab.h
patching file src/blowfish.c
patching file src/blowfish.h
patching file src/byteorder.h
patching file src/c3_fmt.c
patching file src/calc_stat.c
patching file src/charset.c
patching file src/common-opencl.c
patching file src/common-opencl.h
patching file src/common.c
patching file src/common.h
patching file src/common_opencl_pbkdf2.c
patching file src/common_opencl_pbkdf2.h
patching file src/compiler.c
patching file src/config.c
patching file src/config.h
patching file src/cracker.c
patching file src/crc32_fmt_plug.c
patching file src/cryptsha256_fmt.c
patching file src/cryptsha512_fmt.c
patching file src/cuda/cryptmd5.cu
patching file src/cuda/cryptsha256.cu
patching file src/cuda/cryptsha512.cu
patching file src/cuda/cuda_common.cu
patching file src/cuda/cuda_common.cuh
patching file src/cuda/mscash.cu
patching file src/cuda/mscash2.cu
patching file src/cuda/phpass.cu
patching file src/cuda/pwsafe.cu
patching file src/cuda/rawsha256.cu
patching file src/cuda/rawsha512.cu
patching file src/cuda/wpapsk.cu
patching file src/cuda/xsha512.cu
patching file src/cuda_common.h
patching file src/cuda_cryptmd5.h
patching file src/cuda_cryptmd5_fmt.c
patching file src/cuda_cryptsha256.h
patching file src/cuda_cryptsha256_fmt.c
patching file src/cuda_cryptsha512.h
patching file src/cuda_cryptsha512_fmt.c
patching file src/cuda_mscash.h
patching file src/cuda_mscash2.h
patching file src/cuda_mscash2_fmt.c
patching file src/cuda_mscash_fmt.c
patching file src/cuda_phpass.h
patching file src/cuda_phpass_fmt.c
patching file src/cuda_pwsafe.h
patching file src/cuda_pwsafe_fmt.c
patching file src/cuda_rawsha256.h
patching file src/cuda_rawsha256_fmt.c
patching file src/cuda_rawsha512.h
patching file src/cuda_rawsha512_fmt.c
patching file src/cuda_wpapsk.h
patching file src/cuda_wpapsk_fmt.c
patching file src/cuda_xsha512.h
patching file src/cuda_xsha512_fmt.c
patching file src/detect.c
patching file src/django_fmt.c
patching file src/dragonfly3_fmt.c
patching file src/dragonfly4_fmt.c
patching file src/drupal7_fmt.c
patching file src/dummy.c
patching file src/dynamic.h
patching file src/dynamic_fmt.c
patching file src/dynamic_parser.c
patching file src/dynamic_preloads.c
patching file src/dynamic_utils.c
patching file src/encoding_data.h
patching file src/episerver_fmt.c
patching file src/external.c
patching file src/external.h
patching file src/fake_salts.c
patching file src/formats.c
patching file src/formats.h
patching file src/genmkvpwd.c
patching file src/getopt.c
patching file src/gladman_fileenc.h
patching file src/gladman_hmac.c
patching file src/gladman_hmac.h
patching file src/gladman_pwd2key.c
patching file src/gladman_pwd2key.h
patching file src/gladman_sha1.h
patching file src/gost.h
patching file src/gost_fmt_plug.c
patching file src/gost_plug.c
patching file src/hccap2john.c
patching file src/hmacMD5_fmt.c
patching file src/hmacSHA1_fmt.c
patching file src/hmacSHA224_fmt.c
patching file src/hmacSHA256_fmt.c
patching file src/hmacSHA384_fmt.c
patching file src/hmacSHA512_fmt.c
patching file src/hmacmd5.c
patching file src/hmacmd5.h
patching file src/hmailserver_fmt.c
patching file src/idle.c
patching file src/inc.c
patching file src/john-mpi.c
patching file src/john-mpi.h
patching file src/john.c
patching file src/johnswap.h
patching file src/keepass2john.c
patching file src/keepass_fmt.c
patching file src/keychain2john.c
patching file src/keychain_fmt_plug.c
patching file src/loader.c
patching file src/loader.h
patching file src/logger.c
patching file src/logger.h
patching file src/lotus5_fmt_plug.c
patching file src/lowpbe.c
patching file src/lowpbe.h
patching file src/md4-mmx.S
patching file src/md4.c
patching file src/md4.h
patching file src/md4_gen_fmt_plug.c
patching file src/md5-mmx.S
patching file src/md5.c
patching file src/md5.h
patching file src/md5_eq.c
patching file src/md5_go.c
patching file src/md5_go.h
patching file src/mediawiki_fmt_plug.c
patching file src/memory.c
patching file src/memory.h
patching file src/misc.c
patching file src/misc.h
patching file src/mkv.c
patching file src/mkv.h
patching file src/mkvcalcproba.c
patching file src/mkvlib.c
patching file src/mkvlib.h
patching file src/mozilla2john.c
patching file src/mozilla_des.c
patching file src/mozilla_des.h
patching file src/mozilla_fmt.c
patching file src/mscash1_fmt_plug.c
patching file src/mscash2_fmt_plug.c
patching file src/mskrb5_fmt_plug.c
patching file src/mssql-old_fmt_plug.c
patching file src/mssql05_fmt_plug.c
patching file src/mysqlSHA1_fmt_plug.c
patching file src/mysql_fmt_plug.c
patching file src/nsldap_fmt_plug.c
patching file src/nt2_fmt_plug.c
patching file src/odf_fmt_plug.c
patching file src/office2john.c
patching file src/office_fmt_plug.c
patching file src/opencl/bf_kernel.cl
patching file src/opencl/cryptmd5_kernel.cl
patching file src/opencl/cryptsha512_kernel_AMD.cl
patching file src/opencl/cryptsha512_kernel_CPU.cl
patching file src/opencl/cryptsha512_kernel_DEFAULT.cl
patching file src/opencl/cryptsha512_kernel_NVIDIA.cl
patching file src/opencl/md4_kernel.cl
patching file src/opencl/md5_kernel.cl
patching file src/opencl/msha_kernel.cl
patching file src/opencl/nt_kernel.cl
patching file src/opencl/pbkdf2_kernel.cl
patching file src/opencl/phpass_kernel.cl
patching file src/opencl/pwsafe_kernel.cl
patching file src/opencl/rar_kernel.cl
patching file src/opencl/sha1_kernel.cl
patching file src/opencl/sha256_kernel.cl
patching file src/opencl/sha512_kernel.cl
patching file src/opencl/ssha_kernel.cl
patching file src/opencl/wpapsk_kernel.cl
patching file src/opencl/xsha512_kernel.cl
patching file src/opencl_bf_fmt.c
patching file src/opencl_bf_std.c
patching file src/opencl_bf_std.h
patching file src/opencl_cryptmd5_fmt.c
patching file src/opencl_cryptsha512.h
patching file src/opencl_cryptsha512_fmt.c
patching file src/opencl_mscash2_fmt.c
patching file src/opencl_mysqlsha1_fmt.c
patching file src/opencl_nsldaps_fmt.c
patching file src/opencl_nt_fmt.c
patching file src/opencl_phpass_fmt.c
patching file src/opencl_pwsafe_fmt.c
patching file src/opencl_rar.h
patching file src/opencl_rawmd4_fmt.c
patching file src/opencl_rawmd5_fmt.c
patching file src/opencl_rawsha1_fmt.c
patching file src/opencl_rawsha512_fmt.c
patching file src/opencl_wpapsk_fmt.c
patching file src/opencl_xsha512_fmt.c
patching file src/options.c
patching file src/options.h
patching file src/oracle11_fmt_plug.c
patching file src/oracle_fmt_plug.c
patching file src/osc_fmt_plug.c
patching file src/para-best.c
patching file src/para-best.pl
patching file src/params.h
patching file src/path.c
patching file src/path.h
patching file src/pdf2john.c
patching file src/pdf_fmt.c
patching file src/pdfcrack.c
patching file src/pdfcrack.h
patching file src/pdfcrack_common.c
patching file src/pdfcrack_common.h
patching file src/pdfcrack_md5.c
patching file src/pdfcrack_md5.h
patching file src/pdfcrack_rc4.c
patching file src/pdfcrack_rc4.h
patching file src/pdfparser.c
patching file src/pdfparser.h
patching file src/phpassMD5_fmt_plug.c
patching file src/pixMD5_fmt_plug.c
patching file src/pkzip.h
patching file src/pkzip_fmt_plug.c
patching file src/pkzip_inffixed.h
patching file src/plugin.c
patching file src/plugin.h
patching file src/pwsafe2john.c
patching file src/pwsafe_fmt.c
patching file src/racf2john.c
patching file src/racf_fmt_plug.c
patching file src/rar2john.c
patching file src/rar_fmt.c
patching file src/raw2dyna.c
patching file src/rawMD4_fmt_plug.c
patching file src/rawMD5_fmt_plug.c
patching file src/rawSHA0_fmt.c
patching file src/rawSHA1_fmt_plug.c
patching file src/rawSHA1_linkedIn_fmt_plug.c
patching file src/rawSHA1_ng_fmt.c
patching file src/rawSHA224_fmt.c
patching file src/rawSHA256_fmt.c
patching file src/rawSHA384_fmt.c
patching file src/rawSHA512_fmt.c
patching file src/rawmd5u_fmt_plug.c
patching file src/rc4.c
patching file src/rc4.h
patching file src/recovery.c
patching file src/rpp.c
patching file src/rules.c
patching file src/rules.h
patching file src/salted_sha1_fmt_plug.c
patching file src/sapB_fmt_plug.c
patching file src/sapG_fmt_plug.c
patching file src/sha.h
patching file src/sha1-mmx.S
patching file src/sha1_gen_fmt_plug.c
patching file src/signals.c
patching file src/signals.h
patching file src/single.c
patching file src/sip_fmt_plug.c
patching file src/sip_fmt_plug.h
patching file src/sse-intrinsics-32.S
patching file src/sse-intrinsics-64.S
patching file src/sse-intrinsics.c
patching file src/sse-intrinsics.h
patching file src/sse2i_winfix.pl
patching file src/ssh2john.c
patching file src/ssh_fmt.c
patching file src/stages_mmx_md5.S
patching file src/stages_sse2_md5.S
patching file src/status.c
patching file src/status.h
patching file src/stdbool.h
patching file src/stdint.h
patching file src/symlink.c
patching file src/tgtsnarf.c
patching file src/timer.c
patching file src/timer.h
patching file src/trip_fmt.c
patching file src/tty.c
patching file src/undrop.c
patching file src/unicode.c
patching file src/unicode.h
patching file src/unique.c
patching file src/unrar.c
patching file src/unrar.h
patching file src/unrarcmd.c
patching file src/unrarcmd.h
patching file src/unrarfilter.c
patching file src/unrarfilter.h
patching file src/unrarhlp.c
patching file src/unrarhlp.h
patching file src/unrarppm.c
patching file src/unrarppm.h
patching file src/unrarvm.c
patching file src/unrarvm.h
patching file src/unused/CRACF.TXT
patching file src/unused/ConvertUTF.c.original
patching file src/unused/ConvertUTF.h.original
patching file src/unused/MYSQL_fmt_plug.c
patching file src/unused/NSLDAPS_fmt_plug.c
patching file src/unused/NSLDAP_fmt_plug.c
patching file src/unused/OPENLDAPS_fmt_plug.c
patching file src/unused/PHPS_fmt_orig.c
patching file src/unused/crc32-calculator.c
patching file src/unused/crc32.py
patching file src/unused/d3des.c
patching file src/unused/d3des.h
patching file src/unused/dsa_test.key
patching file src/unused/epidump
patching file src/unused/fmt_registers.orig.h
patching file src/unused/keepassdump
patching file src/unused/mozilladump
patching file src/unused/mscash2_fmt_plug.c
patching file src/unused/pdfdump
patching file src/unused/phpassMD5_fmt_orig.c
patching file src/unused/pixMD5_fmt_plug.c
patching file src/unused/pwsafedump
patching file src/unused/racfdump
patching file src/unused/racfdump2
patching file src/unused/rardump
patching file src/unused/rarinfo.c
patching file src/unused/rawMD5_thin_fmt_plug.c
patching file src/unused/rawMD5unicode_fmt_plug.c
patching file src/unused/rawmd5u_thin_fmt_plug.c
patching file src/unused/rsa_test.key
patching file src/unused/sipdump.txt
patching file src/unused/sipdumpjohn.txt
patching file src/unused/sshdump
patching file src/unused/vnc-decoder.c
patching file src/unused/vncdump
patching file src/unused/x86-64.orig.S
patching file src/unused/x86-sse.orig.S
patching file src/unused/zipdump
patching file src/vnc_fmt_plug.c
patching file src/vncpcap2john.cpp
patching file src/wbb3_fmt_plug.c
patching file src/win32_memmap.c
patching file src/win32_memmap.h
patching file src/wordlist.c
patching file src/wpapsk.h
patching file src/wpapsk_fmt.c
patching file src/x86-64.S
patching file src/x86-64.h
patching file src/x86-any.h
patching file src/x86-mmx.h
patching file src/x86-sse.S
patching file src/x86-sse.h
patching file src/x86.S
patching file src/zip2john.c
patching file src/zip_fmt.c
==> make clean macosx-x86-64-opencl
_mm_testz_si128(__m128i __M, __m128i __V)
^
1 error generated.
make[1]: *** [rawSHA1_ng_fmt.o] Error 1
make: *** [macosx-x86-64-opencl] Error 2

Here is a gist with verbose output: https://gist.github.com/kronicd/8887727

adamv commented 10 years ago

Does brew doctor have anything to say?

dStruct commented 10 years ago

I too have the exact same issue. Brew 0.9.5 with latest "update" as of the time of this post.

However I can successfully brew install --env=std john-jumbo just fine.

kronicd commented 10 years ago

Nothing in brew doctor, I can confirm it builds fine with the "--env=std" option.

Should this perhaps be built into the formula?

adamv commented 10 years ago

This installs for me without the std env.

queer1 commented 10 years ago

same issue, trying with "--env-=std" now.

queer1 commented 10 years ago

worked

queer1 commented 10 years ago

quick question, i had john before i added john-jumbo and had to unlink. am i supposed to link it back after i install john-jumbo or am i just an idiot

mistydemeo commented 10 years ago

Looks like the issue is coming from clang adding -march=native. This is turning on SSE4.1, which isn't normally being turned on by the john-jumbo makefile. It intentionally defines _mm_testz_si128 even if it's already defined, which leads to the error in clang since it's pulling in a header that already defines it.

#if defined(__SSE4_1__)

# if !defined(__INTEL_COMPILER)
// This intrinsic is not always available in GCC, so define it here.
static inline int _mm_testz_si128 (__m128i __M, __m128i __V)
{
    return __builtin_ia32_ptestz128 ((__v2di)__M, (__v2di)__V);
}
# endif
mistydemeo commented 10 years ago

Should be fixed now.