I am trying to compile a recent version of GnuPG on my Xperia X with SFOS 4.2. The shipped version is not compatible with recent versions (decrypting something encrypted with a newer version yields gpg: Ohhhh jeeee: mpi larger than packet, whatever that means…). This prevents syncing and using of e.g. pass databases, etc…
I managed to build all the libraries GnuPG needs (libassuan, libgpg-error, libksba, npth), but libgcrypt doesn’t want to cooperate. This is the output of make:
make all-recursive
make[1]: Entering directory '/home/nemo/code/libgcrypt-1.9.4'
Making all in compat
make[2]: Entering directory '/home/nemo/code/libgcrypt-1.9.4/compat'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/nemo/code/libgcrypt-1.9.4/compat'
Making all in mpi
make[2]: Entering directory '/home/nemo/code/libgcrypt-1.9.4/mpi'
/bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I../src -I../src -Wa,--noexecstack -g -O2 -MT mpih-add1-asm.lo -MD -MP -MF .deps/mpih-add1-asm.Tpo -c -o mpih-add1-asm.lo mpih-add1-asm.S
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I.. -I../src -I../src -Wa,--noexecstack -g -O2 -MT mpih-add1-asm.lo -MD -MP -MF .deps/mpih-add1-asm.Tpo -c mpih-add1-asm.S -fPIC -DPIC -o .libs/mpih-add1-asm.o
mpih-add1-asm.S: Assembler messages:
mpih-add1-asm.S:41: Error: ARM register expected -- `and w5,w3,#3'
mpih-add1-asm.S:42: Error: ARM register expected -- `adds xzr,xzr,xzr'
mpih-add1-asm.S:44: Error: selected processor does not support `cbz w5,.Large_loop' in ARM mode
mpih-add1-asm.S:47: Error: ARM register expected -- `ldr x4,[x1],#8'
mpih-add1-asm.S:48: Error: ARM register expected -- `sub w3,w3,#1'
mpih-add1-asm.S:49: Error: ARM register expected -- `ldr x11,[x2],#8'
mpih-add1-asm.S:50: Error: ARM register expected -- `and w5,w3,#3'
mpih-add1-asm.S:51: Error: ARM register expected -- `adcs x4,x4,x11'
mpih-add1-asm.S:52: Error: ARM register expected -- `str x4,[x0],#8'
mpih-add1-asm.S:53: Error: selected processor does not support `cbz w3,.Lend' in ARM mode
mpih-add1-asm.S:54: Error: selected processor does not support `cbnz w5,.Loop' in ARM mode
mpih-add1-asm.S:57: Error: bad instruction `ldp x4,x6,[x1],#16'
mpih-add1-asm.S:58: Error: bad instruction `ldp x5,x7,[x2],#16'
mpih-add1-asm.S:59: Error: bad instruction `ldp x8,x10,[x1],#16'
mpih-add1-asm.S:60: Error: bad instruction `ldp x9,x11,[x2],#16'
mpih-add1-asm.S:61: Error: ARM register expected -- `sub w3,w3,#4'
mpih-add1-asm.S:62: Error: ARM register expected -- `adcs x4,x4,x5'
mpih-add1-asm.S:63: Error: ARM register expected -- `adcs x6,x6,x7'
mpih-add1-asm.S:64: Error: ARM register expected -- `adcs x8,x8,x9'
mpih-add1-asm.S:65: Error: ARM register expected -- `adcs x10,x10,x11'
mpih-add1-asm.S:66: Error: bad instruction `stp x4,x6,[x0],#16'
mpih-add1-asm.S:67: Error: bad instruction `stp x8,x10,[x0],#16'
mpih-add1-asm.S:68: Error: selected processor does not support `cbnz w3,.Large_loop' in ARM mode
mpih-add1-asm.S:71: Error: ARM register expected -- `adc x0,xzr,xzr'
mpih-add1-asm.S:72: Error: bad instruction `ret'
make[2]: *** [Makefile:630: mpih-add1-asm.lo] Error 1
make[2]: Leaving directory '/home/nemo/code/libgcrypt-1.9.4/mpi'
make[1]: *** [Makefile:501: all-recursive] Error 1
make[1]: Leaving directory '/home/nemo/code/libgcrypt-1.9.4'
make: *** [Makefile:433: all] Error 2
According to ./configure ... of gnupg, this is the only library it needs to go on to make.
Interesrtingly, the error in libgcrypt appears in the mpi subdirectory, same as the error message Ohhhh jeeee: mpi larger than packet when using the system gpg. I hope this doesn’t indicate that the processor of the Xperia X can’t do something that’s needed…
Any ideas?
Cheers,
Yann