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