nss-native fails to build with older binutils on host
Hi folks,
I'm looking for a proper solution to fix this build failure:
Package name: nss-native
Host binutils version: 2.17.50.0.6-20.el5_8.3
Host type: CentOS 5.9
Error message:
--------------
gcc -o Linux3.4_x86_64_glibc_PTH_64_OPT.OBJ/Linux_SINGLE_SHLIB/intel-gcm.o -O2 -D_POSIX_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE -fPIC -DLINUX2_1 -Wall -Werror-implicit-function-declaration -Wno-switch -pipe -DLINUX -Dlinux -DHAVE_STRERROR -DXP_UNIX -DSHLIB_SUFFIX=\"so\" -DSHLIB_PREFIX=\"lib\" -DSHLIB_VERSION=\"3\" -DSOFTOKEN_SHLIB_VERSION=\"3\" -DRIJNDAEL_INCLUDE_TABLES -UDEBUG -DNDEBUG -D_REENTRANT -DNSS_ENABLE_ECC -DUSE_UTIL_DIRECTLY -DNO_NSPR_10_SUPPORT -DNSS_USE_64 -DFREEBL_NO_DEPEND -DNSS_X86_OR_X64 -DNSS_X64 -DNSS_BEVAND_ARCFOUR -DMPI_AMD64 -DMP_ASSEMBLY_MULTIPLY -DNSS_USE_COMBA -DMP_CHAR_STORE_SLOW -DMP_IS_LITTLE_ENDIAN -DUSE_HW_AES -DMP_API_COMPATIBLE -I/home/nxadm/nx/yow-blade14.1/builds-2013-08-07-005810/qemumips_world_oe/bitbake_build/tmp/sysroots/x86_64-linux/usr/include -I../../../dist/Linux3.4_x86_64_glibc_PTH_64_OPT.OBJ/include -I../../../dist/public/nss -I../../../dist/private/nss -Impi -Iecl -m64 -fPIC -Wa,--noexecstack -c intel-gcm.s intel-gcm.s: Assembler messages:
intel-gcm.s:39: Error: no such instruction: `vmovdqu (Tp),T'
intel-gcm.s:40: Error: no such instruction: `vpshufb .Lbswap_mask(%rip),T,T'
intel-gcm.s:41: Error: no such instruction: `vpxor TMP0,TMP0,TMP0'
intel-gcm.s:44: Error: no such instruction: `vpinsrq $0,Mlen,TMP0,TMP0'
intel-gcm.s:45: Error: no such instruction: `vpinsrq $1,Alen,TMP0,TMP0'
......
A similar bug at:
https://bugzilla.mozilla.org/show_bug.cgi?id=838401
That shows it caused by older host binutils (as|objdump).
I think this could be fixed by getting nss-native depends on binutils-native, but binutils-native somehow only install some libraries and remove all the binaries.
Could I just override the do_install_class-native() for binutils? Or provide a second recipe like 'binutils-tools-native' to produce the full binutils?
Any advices/suggestions will be welcome.
Thanks
Wenzong
Quoted 19 lines · wenzong fan
Hi folks,
I'm looking for a proper solution to fix this build failure:
Package name: nss-native
Host binutils version: 2.17.50.0.6-20.el5_8.3
Host type: CentOS 5.9Error message:
--------------
gcc -oLinux3.4_x86_64_glibc_PTH_64_OPT.OBJ/Linux_SINGLE_SHLIB/intel-gcm.o-O2 -D_POSIX_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE -fPIC -DLINUX2_1 -Wall -Werror-implicit-function-declaration -Wno-switch -pipe -DLINUX -Dlinux -DHAVE_STRERROR -DXP_UNIX -DSHLIB_SUFFIX=\"so\" -DSHLIB_PREFIX=\"lib\" -DSHLIB_VERSION=\"3\" -DSOFTOKEN_SHLIB_VERSION=\"3\" -DRIJNDAEL_INCLUDE_TABLES -UDEBUG -DNDEBUG -D_REENTRANT -DNSS_ENABLE_ECC -DUSE_UTIL_DIRECTLY -DNO_NSPR_10_SUPPORT -DNSS_USE_64 -DFREEBL_NO_DEPEND -DNSS_X86_OR_X64 -DNSS_X64 -DNSS_BEVAND_ARCFOUR -DMPI_AMD64 -DMP_ASSEMBLY_MULTIPLY -DNSS_USE_COMBA -DMP_CHAR_STORE_SLOW -DMP_IS_LITTLE_ENDIAN -DUSE_HW_AES -DMP_API_COMPATIBLE -I/home/nxadm/nx/yow-blade14.1/builds-2013-08-07-005810/qemumips_world_oe/bitbake_build/tmp/sysroots/x86_64-linux/usr/include -I../../../dist/Linux3.4_x86_64_glibc_PTH_64_OPT.OBJ/include -I../../../dist/public/nss -I../../../dist/private/nss -Impi -Iecl -m64 -fPIC -Wa,--noexecstack -c intel-gcm.s intel-gcm.s: Assembler messages:
intel-gcm.s:39: Error: no such instruction: `vmovdqu (Tp),T'
intel-gcm.s:40: Error: no such instruction: `vpshufb .Lbswap_mask(%rip),T,T'
intel-gcm.s:41: Error: no such instruction: `vpxor TMP0,TMP0,TMP0'
intel-gcm.s:44: Error: no such instruction: `vpinsrq $0,Mlen,TMP0,TMP0'
intel-gcm.s:45: Error: no such instruction: `vpinsrq $1,Alen,TMP0,TMP0'
......
Quoted 7 lines
A similar bug at:
https://bugzilla.mozilla.org/show_bug.cgi?id=838401
That shows it caused by older host binutils (as|objdump).
I think this could be fixed by getting nss-native depends on binutils-native, but binutils-native somehow only install some libraries and remove all the binaries.
Its unnecessary dependency and will penalize users with newer hosts, There is binutils220 package available for centos 5.x you should install that on your build machine and be done with it.
Quoted 2 lines
Could I just override the do_install_class-native() for binutils? Or provide a second recipe like 'binutils-tools-native' to produce the full binutils?
No, we should be very careful about adding more packages to build to appease one old distribution. It gets harder and harder to keep supporting old distributions forever for building latest OE core. At one point you have to make a call and stop using them.
Quoted 10 lines
Any advices/suggestions will be welcome.
Thanks
Wenzong
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core