ubuntu 20.04 交叉編譯openssl-1.0.2p 適配aarch64平臺(飛騰處理器)

這次編譯的平臺是ubuntu 20.04 下求豫,目標(biāo)是適配arrch64平臺滑肉,當(dāng)然飛騰處理器也是采用該架構(gòu)。

Openssl 目前目標(biāo)平臺可支持目前支持的包括和措,當(dāng)然如果列表中沒有奴烙,我們也可以選一個相近的架構(gòu)助被,然后指定交叉編譯器:

BS2000-OSD BSD-generic32 BSD-generic64 BSD-ia64 BSD-sparc64 BSD-sparcv8 BSD-x86 BSD-x86-elf BSD-x86_64 Cygwin Cygwin-i386 Cygwin-i486 Cygwin-i586 Cygwin-i686 Cygwin-x86 Cygwin-x86_64 DJGPP MPE/iX-gcc OS390-Unix QNX6 QNX6-i386 UEFI UWIN VC-CE VC-WIN32 VC-WIN64A VC-WIN64A-masm VC-WIN64I aix-cc aix-gcc aix64-cc aix64-gcc android android-armeabi android-mips android-x86 android64 android64-aarch64 bsdi-elf-gcc cc darwin-i386-cc darwin-ppc-cc darwin64-debug-test-64-clang darwin64-ppc-cc darwin64-x86_64-cc dist gcc haiku-x86 haiku-x86_64 hpux-ia64-cc hpux-ia64-gcc hpux-parisc-cc hpux-parisc-gcc hpux-parisc1_1-cc hpux-parisc1_1-gcc hpux64-ia64-cc hpux64-ia64-gcc hpux64-parisc2-cc hpux64-parisc2-gcc hurd-x86 ios-cross ios64-cross iphoneos-cross irix-mips3-cc irix-mips3-gcc irix64-mips4-cc irix64-mips4-gcc linux-aarch64 linux-alpha-gcc linux-aout linux-arm64ilp32 linux-armv4 linux-c64xplus linux-elf linux-generic32 linux-generic64 linux-ia64 linux-mips32 linux-mips64 linux-ppc linux-ppc64 linux-ppc64le linux-sparcv8 linux-sparcv9 linux-x32 linux-x86 linux-x86-clang linux-x86_64 linux-x86_64-clang linux32-s390x linux64-mips64 linux64-s390x linux64-sparcv9 mingw mingw64 nextstep nextstep3.3 purify qnx4 sco5-cc sco5-gcc solaris-sparcv7-cc solaris-sparcv7-gcc solaris-sparcv8-cc solaris-sparcv8-gcc solaris-sparcv9-cc solaris-sparcv9-gcc solaris-x86-gcc solaris64-sparcv9-cc solaris64-sparcv9-gcc solaris64-x86_64-cc solaris64-x86_64-gcc tru64-alpha-cc tru64-alpha-gcc uClinux-dist uClinux-dist64 unixware-2.0 unixware-2.1 unixware-7 unixware-7-gcc vms-alpha vms-alpha-p32 vms-alpha-p64 vms-ia64 vms-ia64-p32 vms-ia64-p64 vos-gcc vxworks-mips vxworks-ppc405 vxworks-ppc60x vxworks-ppc750 vxworks-ppc750-debug vxworks-ppc860 vxworks-ppcgen vxworks-simlinux debug debug-erbridge debug-linux-ia32-aes debug-linux-pentium debug-linux-ppro debug-test-64-clang

1、我們首先下載openssl切诀,可以在如下網(wǎng)址下載揩环,可以選擇想要的版本,我這里面選擇了openssl-1.0.2p:

https://www.openssl.org/source/

2幅虑、然后安裝交叉編譯器丰滑,這個ubuntu 源上已經(jīng)提供了,如果國外源訪問網(wǎng)速較慢的話倒庵,可以采用阿里或者清華源褒墨,這里就不再說明更換源的操作啦

如果通過桌面軟件設(shè)置更換源,會快一點擎宝,如果比較熟悉也可以修改/etc/apt/source.list 文件郁妈。

3、運行如下命令绍申,安裝交叉編譯器

apt-get update

apt-get install gcc-aarch64-linux-gnu安裝

當(dāng)然我們也可以自行下載交叉編譯器噩咪,或者自己通過編譯gcc源碼顾彰,如果其它系統(tǒng)源里沒有,我們也可以直接下載交叉編譯器:

https://releases.linaro.org/components/toolchain/binaries/

選擇對應(yīng)版本后胃碾,可以下載我選擇的適配arrch64的工具

image.png

4涨享、我們先解壓openssl,然后進入解壓縮目錄书在,運行如下命令

./Configure -fPIC no-asm shared no-async linux-aarch64

make CC="aarch64-linux-gnu-gcc" AR="aarch64-linux-gnu-ar rcs" RANLIB="aarch64-linux-gnu-ranlib"

這樣我們就編譯成功了灰伟,這里解釋一下參數(shù)拆又。

no-asm 不使用匯編代碼加速編譯儒旬,openssl內(nèi)置了部分架構(gòu)下的匯編代碼,如果想自己編譯帖族,指定no-asm

shared 生成共享庫及靜態(tài)庫

no-async 不使用glibc ucontext庫栈源,有些交叉編譯器沒有這個庫,我們也可以不依賴它竖般,這個是用來實現(xiàn)異步的庫甚垦,不使用后,我們調(diào)用異步接口涣雕,會返回錯誤

linux-aarch64 這個是剛才支持列表中的架構(gòu)名稱

CC 指定交叉編譯器名稱艰亮,因為我們是源安裝的,命令行可以直接訪問挣郭,如果是下載的交叉編譯器迄埃,可以指定絕對路徑,或者將交叉編譯器目錄加入環(huán)境變量

AR 指定交叉編譯器靜態(tài)庫打包命令

RANLIB 指定交叉編譯器的打包靜態(tài)庫時兑障,更新靜態(tài)庫符號列表的命令侄非,有些編譯器不提供該命令,其實ar 命令里面已經(jīng)集成了更新靜態(tài)庫符號列表的命令流译,

就是指定 'ar s' 參數(shù)逞怨,RANLIB僅僅是為了兼容以前ar沒有集成更新靜態(tài)庫符號列表功能的編譯器

這樣當(dāng)前目錄下就會生成openssl的庫,libssl.a福澡、libcrypto.a為靜態(tài)庫叠赦,libcrypto.so、libssl.so 為動態(tài)庫革砸,頭文件在當(dāng)前目錄的include中

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末除秀,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子业岁,更是在濱河造成了極大的恐慌鳞仙,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,907評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件笔时,死亡現(xiàn)場離奇詭異棍好,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評論 3 395
  • 文/潘曉璐 我一進店門借笙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來扒怖,“玉大人,你說我怎么就攤上這事业稼〉裂鳎” “怎么了?”我有些...
    開封第一講書人閱讀 164,298評論 0 354
  • 文/不壞的土叔 我叫張陵低散,是天一觀的道長俯邓。 經(jīng)常有香客問我,道長熔号,這世上最難降的妖魔是什么稽鞭? 我笑而不...
    開封第一講書人閱讀 58,586評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮引镊,結(jié)果婚禮上朦蕴,老公的妹妹穿的比我還像新娘。我一直安慰自己弟头,他們只是感情好吩抓,可當(dāng)我...
    茶點故事閱讀 67,633評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著赴恨,像睡著了一般疹娶。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上嘱支,一...
    開封第一講書人閱讀 51,488評論 1 302
  • 那天蚓胸,我揣著相機與錄音,去河邊找鬼除师。 笑死沛膳,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的汛聚。 我是一名探鬼主播锹安,決...
    沈念sama閱讀 40,275評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼倚舀!你這毒婦竟也來了叹哭?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,176評論 0 276
  • 序言:老撾萬榮一對情侶失蹤痕貌,失蹤者是張志新(化名)和其女友劉穎风罩,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體舵稠,經(jīng)...
    沈念sama閱讀 45,619評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡超升,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,819評論 3 336
  • 正文 我和宋清朗相戀三年入宦,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片室琢。...
    茶點故事閱讀 39,932評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡乾闰,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出盈滴,到底是詐尸還是另有隱情涯肩,我是刑警寧澤,帶...
    沈念sama閱讀 35,655評論 5 346
  • 正文 年R本政府宣布巢钓,位于F島的核電站病苗,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏竿报。R本人自食惡果不足惜铅乡,卻給世界環(huán)境...
    茶點故事閱讀 41,265評論 3 329
  • 文/蒙蒙 一继谚、第九天 我趴在偏房一處隱蔽的房頂上張望烈菌。 院中可真熱鬧,春花似錦花履、人聲如沸芽世。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽济瓢。三九已至,卻和暖如春妹卿,著一層夾襖步出監(jiān)牢的瞬間旺矾,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評論 1 269
  • 我被黑心中介騙來泰國打工夺克, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留箕宙,地道東北人。 一個月前我還...
    沈念sama閱讀 48,095評論 3 370
  • 正文 我出身青樓铺纽,卻偏偏與公主長得像柬帕,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子狡门,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,884評論 2 354

推薦閱讀更多精彩內(nèi)容