So che questa domanda è un po 'vecchia, ma visto che ci sono arrivato con lo stesso problema, ho intenzione di lasciarlo qui per riferimento futuro.
La soluzione che ho trovato era compilare manualmente OpenSSL con il cross-compilatore installato e quindi installarlo manualmente nella cartella delle librerie cross-compilation.
Per prima cosa ho installato il cross-compiler (sto usando Ubuntu 14.04). Ho installato sia il compilatore C che il compilatore C++. Ho anche installato due toolchain cross-compiler, uno con supporto hard-floating point (arm-linux-gnueabihf) e uno senza (arm-linux-gnueabi). Vengono create due directory (come indicato nella domanda) /usr/arm-linux-gnueabi
e /usr/arm-linux-gnueabihf
, in cui devono essere installate le librerie incrociate.
sudo apt-get install {gcc,g++}-arm-linux-gnueabi{,hf}
In secondo luogo, clonato il repository Git OpenSSL e controllato la versione che mi interessava (1.0.2):
git clone https://github.com/openssl/openssl
git checkout OpenSSL_1_0_2 # or another version
Poi, ho configurato l'ambiente per il cross-compilazione e cambiato l'installazione directory (il prefisso), e costruito la libreria seguendo le istruzioni fornite nel file INSTALL (e forzando di utilizzare la specifica toolchain di cross-compilazione):
export CROSS=arm-linux-gnueabi # or arm-linux-gnueabihf
export AR=${CROSS}-ar
export AS=${CROSS}-as
export CC=${CROSS}-gcc
export CXX=${CROSS}-g++
export LD=${CROSS}-ld
./Configure --prefix=/usr/${CROSS} os/compiler:${CC}
make
sudo make install
Yo Puoi ripetere il processo e compilare con entrambi i toolchain (arm-linux-gnueabi
e arm-linux-gnueabihf
).
Spero che questo aiuti.
fonte
2015-02-17 01:19:59
Hai trovato la soluzione? Anch'io ho urtato questo problema. Spero che tu abbia trovato la risposta dato che ha 9 mesi. Se trovi la soluzione, rispondi. – neckTwi