Backporting OpenSSL-1.0.1e para o Debian Lenny (armv4l)

5

Eu tenho uma placa embutida antiga que suporta apenas o Debian Lenny. Eu preciso instalar o OpenSSL-1.0.1e nele. Se eu baixar o código-fonte e tentar compilar o código-fonte, recebo este erro

ts7500:/home/openssl-1.0.1e# make
making all in crypto...
make[1]: Entering directory '/home/openssl-1.0.1e/crypto'
gcc -I. -I.. -I../include  -fPIC -DOPENSSL_PIC -DZLIB_SHARED -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -Wa,--noexecstack -DTERMIO -O3 -Wall -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DAES_ASM -DGHASH_ASM   -c -o armcap.o armcap.c
In file included from armcap.c:8:
arm_arch.h:35:5: error: #error "unsupported ARM architecture"
make[1]: *** [armcap.o] Error 1
make[1]: Leaving directory '/home/openssl-1.0.1e/crypto'
make: *** [build_crypto] Error 1

como posso superar esse erro?

Note: ts7500:/home/openssl-1.0.1e# 'uname -a'
Linux ts7500 3.4.0 #83 Sun May 26 17:07:14 CEST 2013 'armv4l GNU/Linux'

O ARMV4 é definido no link

EDIT: Se eu adicionar #define __ARM_ARCH__ 4 no começo da biblioteca, ele suprime o problema e compila o código sem nenhum problema. Eu me pergunto o quão correto eu fiz. Eu apreciaria uma solução melhor (por exemplo, sem modificar a biblioteca)

    
por sven 27.05.2013 / 00:15

1 resposta

2

Você não passou as opções corretas para Configure . Certifique-se de passar o argumento linux-armv4 . Se você estiver compilando em cruz, além de armv4 , precisará passar o caminho para o compilador cruzado, bem como incluir e os caminhos da biblioteca, se necessário.

./Configure --cross-compiler-prefix=/opt/gcc-arm/bin/arm-linux-gnueabi- -I/opt/gcc-arm/include -L/opt/gcc-arm/lib
    
por 28.05.2013 / 01:45