[發明專利]一種申威平臺快速移植編譯開源程序的方法在審
| 申請號: | 202010422856.3 | 申請日: | 2020-05-19 |
| 公開(公告)號: | CN111722875A | 公開(公告)日: | 2020-09-29 |
| 發明(設計)人: | 高福亮 | 申請(專利權)人: | 上海中科網威信息技術有限公司 |
| 主分類號: | G06F8/76 | 分類號: | G06F8/76;G06F8/30;G06F8/41;G06F8/61 |
| 代理公司: | 北京紐樂康知識產權代理事務所(普通合伙) 11210 | 代理人: | 李立娟 |
| 地址: | 200040 上海市靜安*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 平臺 快速 移植 編譯 源程序 方法 | ||
1.一種申威平臺快速移植編譯開源程序的方法,其特征在于,該方法包括以下步驟:
S1:安裝搭建申威發行版本Linux系統的本地編譯機;
S2:根據所需開源程序的名稱在上述申威本地編譯機中優先搜索安裝程序并判斷運行是否正常;
S3:運行上傳到申威設備的執行程序;
S4:將導出的所有執行程序、庫文件及配置文件存儲在Linux文件系統的對應目錄下;
S5:針對開源程序按照上述步驟依然無法運行成功的,則必須選擇編譯開源碼的方式。
2.根據權利要求1所述的申威平臺快速移植編譯開源程序的方法,其特征在于,所述S1包括以下具體步驟:
S1.1 根據當前運用的申威非發行版本Linux內核源碼類型,基于32\64位系統及內核版本信息選擇相同或相近的申威發行版本Linux內核系統進行安裝;
S1.2 申威平臺知名的Linux發行版系統包括:原點系統、中標麒麟系統及深度系統,采用以上系統安裝后作為編譯和移植開源程序的申威本地編譯機,保證申威本地編譯機上后續安裝編譯的常用軟件、內核源碼或執行程序都是基于相同的GCC編譯及軟件系統運行環境,增加容錯率;
S1.3 選擇安裝的編譯機硬件設備及運行調試設備一定要是相同型號硬件設備,確保編譯及運行的硬件環境相同,增加容錯率。
3.根據權利要求1所述的申威平臺快速移植編譯開源程序的方法,其特征在于,所述S2包括以下具體步驟:
S2.1在根目錄下通過find命令查找到安裝程序所在位置,若獲得則使用ldd命令查看該程序對應的庫文件,若為靜態庫文件則直接拷貝該程序到設備上運行即可,若為動態庫文件則同時將其依賴的所有動態庫文件一并拷貝到設備上運行;
S2.2 若本地搜索未安裝存在,則使用安裝管理工具進行安裝包搜索,然后根據搜索到的安裝包信息選擇自己所需的版本進行安裝操作,安裝完成后在根目錄下再次通過find命令查找到安裝程序所在位置,然后將該執行程序導出,并上傳到需要運行該程序的申威設備中嘗試運行。
4.根據權利要求1所述的申威平臺快速移植編譯開源程序的方法,其特征在于,所述S3包括以下具體步驟:
S3.1 根據提示信息將運行時缺少的庫文件、其他依賴程序及配置文件,按照上一步方法在申威本地編譯機中搜索獲取、導出并上傳到申威設備的對應目錄。
5.根據權利要求1所述的申威平臺快速移植編譯開源程序的方法,其特征在于,所述S4包括以下具體步驟:
S4.1 打包編譯進入非發行版申威Linux內核鏡像文件中,重新上傳到申威設備上運行、驗證、使用,保證移植的執行程序、庫文件及配置文件重啟不丟失。
6.根據權利要求1所述的申威平臺快速移植編譯開源程序的方法,其特征在于,所述S5包括以下具體步驟:
S5.1 首先確認申威本地編譯機中安裝編譯申威設備的內核采用gcc或自定義交叉編譯工具版本,盡量保證編譯工具一致,然后在申威本地編譯機中將下載的開源碼解壓,若進行源碼編譯過程中提示缺少開源庫或依賴程序,則通過安裝管理工具直接搜索安裝使用,減少編譯的工作量,編譯完成后將生成的執行程序導出并上傳到申威設備上驗證,運行正常情況下將生成的執行程序打包編譯進入內核文件系統永久保存。
7.根據權利要求1所述的申威平臺快速移植編譯開源程序的方法,其特征在于,所述S3.1包括以下具體步驟:
S3.1.1導出申威設備上傳必須與申威本地編譯器保持一致,即相同目錄存儲在相同的文件,執行程序放置/bin目錄、庫文件放置/lib目錄,保證程序運行時檢索路徑不出現差錯,直到執行程序運行成功。
8.根據權利要求7所述的申威平臺快速移植編譯開源程序的方法,其特征在于,所述S3.1中運行執行程序報錯包括以下三種形式:
1)運行時報錯依賴庫版本不一致時,盡量找到使用相同版本的庫文件,若找不到,則手動修改庫文件版本名稱進行嘗試;
2)運行時報錯未知錯誤時,可使用strace跟蹤調試找到原因;
3)運行時報錯缺少依賴的庫文件時,在設備上使用ldd命令查看該程序依賴的庫文件,若為靜態庫文件則直接拷貝該程序到設備上嘗試運行即可,若為動態庫文件則需要將其依賴的所有動態庫文件一并拷貝到設備上嘗試運行即可。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海中科網威信息技術有限公司,未經上海中科網威信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010422856.3/1.html,轉載請聲明來源鉆瓜專利網。





