Fwd: Re: No such instruction building NSS
Reposting per Brian's request. Original Message Subject: Re: No such instruction building NSS Date: Mon, 10 Jun 2013 08:39:36 -0700 (PDT) From: Brian Smith bsm...@mozilla.com To: Gregory Szorc g...@mozilla.com CC: Mozilla Dev Builds dev-bui...@lists.mozilla.org, Christopher Howard cmhowa...@alaska.edu, Meadhbh Hamrick mhamr...@mozilla.com, Camilo Viecco cvie...@mozilla.com Please repost this on dev-tech-crypto. I am on PTO until Wednesday and I bet somebody else on the NSS team already knows exactly how to deal with this. Cheers, Brian - Original Message - From: Gregory Szorc g...@mozilla.com To: Christopher Howard cmhowa...@alaska.edu Cc: Mozilla Dev Builds dev-bui...@lists.mozilla.org, Brian Smith bsm...@mozilla.com Sent: Monday, June 10, 2013 6:32:14 AM Subject: Re: No such instruction building NSS On 6/5/13 11:46 AM, Christopher Howard wrote: Hi. I've been trying to do a local (non-root) build of Firefox for use on an old RHEL5 system. (The hardware is not old, just the OS.) I've been using the directions here: https://developer.mozilla.org/en-US/docs/Developer_Guide/Build_Instructions?redirectlocale=en-USredirectslug=Build_Documentation quote: $ cat .mozconfig ac_add_options --prefix=/center/w/cmhoward2/theta/local ac_add_options --disable-gio ac_add_options --disable-elf-hack mk_add_options MOZ_MAKE_FLAGS=-j8 The build dies. It seems like it is trying to use AVX2 instructions or something like that. Here is the tail of the failure: quote: 1:48.81 intel-gcm.s:1321: Error: no such instruction: `vpxor TMP4,TMP2,TMP2' 1:48.81 intel-gcm.s:1323: Error: no such instruction: `vpslldq $8,TMP2,TMP3' 1:48.81 intel-gcm.s:1324: Error: no such instruction: `vpsrldq $8,TMP2,TMP2' 1:48.81 intel-gcm.s:1326: Error: no such instruction: `vpxor TMP3,TMP1,TMP1' 1:48.81 intel-gcm.s:1327: Error: no such instruction: `vpxor TMP2,TMP4,TMP4' 1:48.81 intel-gcm.s:1329: Error: no such instruction: `vpclmulqdq $0x10,.Lpoly(%rip),TMP1,TMP2' 1:48.81 intel-gcm.s:1330: Error: no such instruction: `vpshufd $78,TMP1,TMP3' 1:48.81 intel-gcm.s:1331: Error: no such instruction: `vpxor TMP3,TMP2,TMP1' 1:48.81 intel-gcm.s:1333: Error: no such instruction: `vpclmulqdq $0x10,.Lpoly(%rip),TMP1,TMP2' 1:48.81 intel-gcm.s:1334: Error: no such instruction: `vpshufd $78,TMP1,TMP3' 1:48.81 intel-gcm.s:1335: Error: no such instruction: `vpxor TMP3,TMP2,TMP1' 1:48.81 intel-gcm.s:1337: Error: no such instruction: `vpxor TMP4,TMP1,T' 1:48.81 gmake[8]: *** [/center/w/cmhoward2/theta/build/mozilla-release/obj-x86_64-unknown-linux-gnu/security/nss/lib/freebl/intel-gcm.o] Error 1 1:48.81 gmake[7]: *** [libs] Error 2 1:48.81 gmake[6]: *** [libs] Error 2 1:48.81 gmake[5]: *** [libs] Error 2 1:48.81 gmake[4]: *** [libs_tier_platform] Error 2 1:48.81 gmake[3]: *** [tier_platform] Error 2 1:48.81 gmake[2]: *** [default] Error 2 1:48.81 gmake[1]: *** [realbuild] Error 2 1:48.81 gmake: *** [build] Error 2 1:48.86 83 compiler warnings present. Finished building. Built files are in obj-x86_64-unknown-linux-gnu I'm using gcc 4.7.3 (which I also built locally). Here is processor info: quote: processor : 0 vendor_id : AuthenticAMD cpu family : 16 model : 4 model name : Quad-Core AMD Opteron(tm) Processor 2378 stepping: 2 cpu MHz : 800.000 cache size : 512 KB physical id : 0 siblings: 4 core id : 0 cpu cores : 4 apicid : 0 fpu : yes fpu_exception : yes cpuid level : 5 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow rep_good constant_tsc nonstop_tsc pni cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt bogomips: 4800.19 TLB size: 1024 4K pages clflush size: 64 cache_alignment : 64 address sizes : 48 bits physical, 48 bits virtual power management: ts ttp tm stc 100mhzsteps hwpstate [8] I tried adding ac_add_options --with-arch=native As a shot in the dark, but that didn't seem to help. This is either a bug in the NSS build system, lack of support in NSS itself for your hardware/software config, or an issue with your toolchain (your locally built compiler). I don't know enough about NSS's build system to know which one it is. bsmith: Does this ring any bells? -- dev-tech-crypto mailing list dev-tech-crypto@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-tech-crypto
Re: Fwd: Re: No such instruction building NSS
On 06/10/2013 02:50 PM, Gregory Szorc wrote: - Original Message - From: Gregory Szorc g...@mozilla.com To: Christopher Howard cmhowa...@alaska.edu Cc: Mozilla Dev Builds dev-bui...@lists.mozilla.org, Brian Smith bsm...@mozilla.com Sent: Monday, June 10, 2013 6:32:14 AM Subject: Re: No such instruction building NSS On 6/5/13 11:46 AM, Christopher Howard wrote: Hi. I've been trying to do a local (non-root) build of Firefox for use on an old RHEL5 system. (The hardware is not old, just the OS.) I've been using the directions here: https://developer.mozilla.org/en-US/docs/Developer_Guide/Build_Instructions?redirectlocale=en-USredirectslug=Build_Documentation Yeah, you need to use the new assembler on RHEL-5: As root: yum install binutils220 As user: export PATH=/usr/libexec/binutils220:$PATH Then do you your build. bob quote: $ cat .mozconfig ac_add_options --prefix=/center/w/cmhoward2/theta/local ac_add_options --disable-gio ac_add_options --disable-elf-hack mk_add_options MOZ_MAKE_FLAGS=-j8 The build dies. It seems like it is trying to use AVX2 instructions or something like that. Here is the tail of the failure: quote: 1:48.81 intel-gcm.s:1321: Error: no such instruction: `vpxor TMP4,TMP2,TMP2' 1:48.81 intel-gcm.s:1323: Error: no such instruction: `vpslldq $8,TMP2,TMP3' 1:48.81 intel-gcm.s:1324: Error: no such instruction: `vpsrldq $8,TMP2,TMP2' 1:48.81 intel-gcm.s:1326: Error: no such instruction: `vpxor TMP3,TMP1,TMP1' 1:48.81 intel-gcm.s:1327: Error: no such instruction: `vpxor TMP2,TMP4,TMP4' 1:48.81 intel-gcm.s:1329: Error: no such instruction: `vpclmulqdq $0x10,.Lpoly(%rip),TMP1,TMP2' 1:48.81 intel-gcm.s:1330: Error: no such instruction: `vpshufd $78,TMP1,TMP3' 1:48.81 intel-gcm.s:1331: Error: no such instruction: `vpxor TMP3,TMP2,TMP1' 1:48.81 intel-gcm.s:1333: Error: no such instruction: `vpclmulqdq $0x10,.Lpoly(%rip),TMP1,TMP2' 1:48.81 intel-gcm.s:1334: Error: no such instruction: `vpshufd $78,TMP1,TMP3' 1:48.81 intel-gcm.s:1335: Error: no such instruction: `vpxor TMP3,TMP2,TMP1' 1:48.81 intel-gcm.s:1337: Error: no such instruction: `vpxor TMP4,TMP1,T' 1:48.81 gmake[8]: *** [/center/w/cmhoward2/theta/build/mozilla-release/obj-x86_64-unknown-linux-gnu/security/nss/lib/freebl/intel-gcm.o] Error 1 1:48.81 gmake[7]: *** [libs] Error 2 1:48.81 gmake[6]: *** [libs] Error 2 1:48.81 gmake[5]: *** [libs] Error 2 1:48.81 gmake[4]: *** [libs_tier_platform] Error 2 1:48.81 gmake[3]: *** [tier_platform] Error 2 1:48.81 gmake[2]: *** [default] Error 2 1:48.81 gmake[1]: *** [realbuild] Error 2 1:48.81 gmake: *** [build] Error 2 1:48.86 83 compiler warnings present. Finished building. Built files are in obj-x86_64-unknown-linux-gnu I'm using gcc 4.7.3 (which I also built locally). Here is processor info: quote: processor : 0 vendor_id : AuthenticAMD cpu family : 16 model : 4 model name : Quad-Core AMD Opteron(tm) Processor 2378 stepping: 2 cpu MHz : 800.000 cache size : 512 KB physical id : 0 siblings: 4 core id : 0 cpu cores : 4 apicid : 0 fpu : yes fpu_exception : yes cpuid level : 5 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow rep_good constant_tsc nonstop_tsc pni cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt bogomips: 4800.19 TLB size: 1024 4K pages clflush size: 64 cache_alignment : 64 address sizes : 48 bits physical, 48 bits virtual power management: ts ttp tm stc 100mhzsteps hwpstate [8] I tried adding ac_add_options --with-arch=native As a shot in the dark, but that didn't seem to help. This is either a bug in the NSS build system, lack of support in NSS itself for your hardware/software config, or an issue with your toolchain (your locally built compiler). I don't know enough about NSS's build system to know which one it is. bsmith: Does this ring any bells? -- dev-tech-crypto mailing list dev-tech-crypto@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-tech-crypto
Re: Fwd: Re: No such instruction building NSS
On Mon, Jun 10, 2013 at 3:43 PM, Robert Relyea rrel...@redhat.com wrote: Yeah, you need to use the new assembler on RHEL-5: As root: yum install binutils220 As user: export PATH=/usr/libexec/binutils220:$PATH Then do you your build. Bob, could you add the above to the NSS build instructions page at https://developer.mozilla.org/en-US/docs/NSS_reference/Building_and_installing_NSS/Build_instructions ? Kai previously documented these steps in the NSS 3.14.2 release notes ( https://developer.mozilla.org/en-US/docs/NSS/NSS_3.14.2_release_notes#New_in_NSS_3.14.2 ), but they should also be in the NSS build instructions. Thanks, Wan-Teh -- dev-tech-crypto mailing list dev-tech-crypto@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-tech-crypto