在https://www.openssl.org/source/下載openssl-1.1.1源代碼
# tar zxvf openssl-1.1.1.tar.gz
# cd openssl-1.1.1
# mkdir build_arm
# ./config no-asm shared no-async --prefix=/home/wenyi/development/soft_arm/openssl-1.1.1/build_arm --cross-compile-prefix=arm-hisiv500-linux- 生成makefile文件
修改makefile,去除掉 -m64和-m32選項
# make && make install
【錯誤描述】:
./libcrypto.so: warning: gethostbyname is obsolescent, use getnameinfo() instead.
./libcrypto.so: undefined reference to `getcontext'
./libcrypto.so: undefined reference to `setcontext'
./libcrypto.so: undefined reference to `makecontext'
【錯誤原因】:
之前config使用:
./config no-asm shared --prefix=/home/wenyi/development/soft_arm/openssl-1.1.1/build_arm --cross-compile-prefix=arm-hisiv500-linux-
沒有使用 no-async 參數,加上之後就可以了。
【參數說明】
- no-asm: 在交叉編譯過程中不使用匯編代碼代碼加速編譯過程.原因是它的彙編代碼是對arm格式不支持的。
- shared: 生成動態連接庫。
- no-async: 交叉編譯工具鏈沒有提供GNU C的ucontext庫
- –prefix=: 安裝路徑,編譯完成install後將有bin,lib,include等文件夾
- –cross-compile-prefix=: 交叉編譯工具