Skip to contentSkip to conversation

nss-native fails to build with older binutils on host

DISCUSSION wenzong fan 2 participants 2 messages Aug 7, 2013

lore
Share & tools
lore
#0 lore raw

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

#1 lore raw
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.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'
......

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