交叉編譯一 openssl 1 1 1編譯

2021-10-24 05:29:04 字數 1625 閱讀 7113

君正平台

2、進入目錄

# tar zxvf openssl-1.1.1.tar.gz  

# cd openssl-1.1.1

3、執行

./config no-asm no-sse2 no-ssl3 no-zlib no-bf no-camellia no-cast no-cms no-comp no-dso no-idea  no-md2 no-mdc2 no-rc2 no-rc5 no-ripemd no-seed --prefix=$(pwd)/isvp -fpic --cross-compile-prefix=/opt/mips-gcc472-glibc216-64bit/bin/mips-linux-uclibc-gnu-
引數說明:

no-asm:    在交叉編譯過程中不使用彙編****加速編譯過程.原因是它的彙編**是對arm格式不支援的。

no-async: 交叉編譯工具鏈沒有提供gnu c的ucontext庫

–prefix=: 安裝路徑,編譯完成install後將有bin,lib,include等資料夾

–cross-compile-prefix=: 交叉編譯工具 

4、make

此時會有乙個【報錯】:

mips-linux-gnu-gcc: error: unrecognized command line option '-m64'

解決辦法,我們開啟makefile

搜尋-m64選項並刪除,共兩處

nf_cflags=-pthread -m64

cnf_cxxflags=-std=c++11 -pthread -m64

再一次執行make後

【報錯】如下:

./libcrypto.so: undefined reference to `getcontext'

./libcrypto.so: undefined reference to `setcontext'

./libcrypto.so: undefined reference to `makecontext'

collect2: error: ld returned 1 exit status

主要原因是:mipsel-linux沒有提供gnu c的ucontext庫

解決辦法:config 配置時新增no-async

./config no-asm no-async no-sse2 no-ssl3 no-zlib no-async no-bf no-camellia no-cast no-cms no-comp no-dso no-idea  no-md2 no-mdc2 no-rc2 no-rc5 no-ripemd no-seed --prefix=$(pwd)/isvp -fpic --cross-compile-prefix=/opt/mips-gcc472-glibc216-64bit/bin/mips-linux-uclibc-gnu-

5.make && make install

6.編譯成功

交叉編譯openssl1 1 1a

交叉編譯openssl1.1.1a的時候遇到的問題,記錄一下,方便下次查詢 2.執行下面的命令解壓原始碼包 tar xvzf openssl 1.1.1.tar.gz二 配置openssl 1.執行下面的命令配置工程 config no asm shared no async prefix pwd ...

交叉編譯openssl

tar xvf openssl 1.1.1f.orig.tar.gz2.配置configure 用指令碼檔案myconfigure.sh配置 vi myconfigure.s配置如下 cc arm linux gcc config no asm shared no async prefix pwd ...

openssl交叉編譯arm

1 交叉編譯arm環境的openssl 修改config檔案 因為晶元架構為armv7,所以新增 guessos armv7 generic linux2 對應位置 除了修改config檔案也可以在.config的時候新增 march armv7 a 引數 2 使用過程中遇到的問題 我使用的虛擬機器...