麒麟V10 arm cpu aarch64 下編譯 RocketMQ-Client-CPP 2.2.0

國產自主可控服務器需要訪問RocketMQ消息隊列,最新的C++SDK是2020年發布的?rocketmq-client-cpp-2.2.0?這個版本支持TLS模式。 用默認的版本安裝遇到一些問題,記錄一下。

下載Releases · apache/rocketmq-client-cpp · GitHub https://github.com/apache/rocketmq-client-cpp/releases

操作系統信息:

#uname -p
aarch64
#uname?
Linux
安裝編譯需要的工具
#yum install gcc gcc-c++ cmake automake autoconf libtool?

一是默認的boost_1_58_0編譯無法通過。檢測到的CPU變成了x64,未能檢測出arm。使用boost_1_72_0 (更高的版本更改較大,刪除了boost_1_72_0.tar.gz\boost_1_72_0\boost\detail\endian.hpp文件,后面編譯通不過?)

boost-1_70_0

二是默認的openssl-1.1.1d編譯通過,鏈接時報錯:

/usr/bin/ld: ../../bin/lib/libcrypto.a(sha1-armv8.o): relocation R_AARCH64_PREL64 against symbol `OPENSSL_armcap_P' which may bind externally can not be used when making a shared object; recompile with -fPIC
../../bin/lib/libcrypto.a(sha1-armv8.o): In function `sha1_block_armv8':
(.text+0x1240): dangerous relocation: unsupported relocation

更新為openssl-1.1.1w版本。

三是將依賴的文件解壓后放到rocketmq-client-cpp目錄

#unzip rocketmq-client-cpp-2.2.0.zip
#mv boost_1_72_0.tar.gz jsoncpp-0.10.7.zip openssl-1.1.1w.tar.gz ./rocketmq-client-cpp-2.2.0

依賴庫boost文件可以從?https://sourceforge.net/projects/boost/files/boost/1.72.0/ https://sourceforge.net/projects/boost/files/boost/1.72.0/下載。

RocketMQ-Client-CPP2.2.0編譯依賴庫資源-CSDN文庫 https://download.csdn.net/download/eamon100/90487665四是修改 CMakeLists.txt,將186至190行注釋掉(檢測不了aarch64)

186             #    if (CMAKE_BUILD_BITS EQUAL 32)
187             #        list(APPEND CXX_FLAGS "-m32")
188             #    else () #not-condition
189             #        list(APPEND CXX_FLAGS "-m64")
190             #    endif ()

編譯:

#./build.sh

?

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/73899.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/73899.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/73899.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C語言每日一練——day_12(最后一天)

引言 針對初學者,每日練習幾個題,快速上手C語言。第十二天。(最后一天,完結散花啦) 采用在線OJ的形式 什么是在線OJ? 在線判題系統(英語:Online Judge,縮寫OJ&#xff0…

網絡安全應急入門到實戰

奇安信:95015網絡安全應急響應分析報告(2022-2024年)官網可以下載 https://github.com/Bypass007/Emergency-Response-Notes 應急響應實戰筆記 網絡安全應急響應技術實戰指南 .pdf 常見場景 第4章 勒索病毒網絡安全應急響應 第5章 挖礦木…

jvm中每個類的Class對象是唯一的嗎

jvm中每個類的Class對象是唯一的嗎 在 Java 中,同一個類的 Class 對象在由同一個類加載器加載時是唯一的。析: 1. 同一類加載器的唯一性 規則:若一個類被同一個類加載器加載,無論創建多少實例,其 Class 對象始終唯一…

Visual Studio里的調試(debugging)功能介紹

參考 1- Introduction to Debugging | Basic Visual Studio Debugging(這是一位印度博主視頻,我下面做到筆記也主要參考她的視頻,但不得不說口音太重了,一股咖喱味) 目錄 個人對調試淺顯的認識和對調試的介紹逐行調…

NLP高頻面試題(六)——decoder-only、encoder-only和encoder-decoder的區別與聯系

一、基本概念與代表模型 1. Encoder-only 架構 Encoder-only 架構最具代表性的模型是 BERT。BERT 使用 masked language modeling(MLM)進行預訓練,即隨機遮蔽部分輸入詞匯,讓模型預測被遮蔽的詞匯。由于這種架構能夠同時看到輸入…

如何判斷 MSF 的 Payload 是 Staged 還是 Stageless(含 Meterpreter 與普通 Shell 對比)

在滲透測試領域,Metasploit Framework(MSF)的 msfvenom 工具是生成 Payload(載荷)的核心利器。然而,當我們選擇 Payload 時,經常會遇到一個問題:這個 Payload 是 Staged(…

基于FPGA的3U機箱模擬量高速采樣板ADI板卡,應用于軌道交通/電力儲能等

板卡簡介: 本板為模擬量高速采樣板(ADI),主要用于電機轉速和相電流檢測,以實現電機閉環控制。 性能規格: 電源:DC5V,DC3.3V,DC15V,DC24V FPGA:…

Gymnasium Cart Pole 環境與 REINFORCE 算法 —— 強化學習入門 2

Title: Gymnasium Cart Pole 環境與 REINFORCE 算法 —— 強化學習入門 2 文章目錄 I. Gymnasium Cart Pole 環境II. REINFORCE 算法1. 原理說明2. REINFORCE 算法實現 I. Gymnasium Cart Pole 環境 Gymnasium Cart Pole 環境是一個倒立擺的動力學仿真環境. 狀態空間: 0: Ca…

Python高級:GIL、C擴展與分布式系統深度解析

文章目錄 📌 **前言**🔧 **第一章:Python語言的本質與生態**1.1 **Python的實現與版本演進**1.2 **開發環境與工具鏈** 🔧 **第二章:元編程與動態特性**2.1 **描述符協議(Descriptor Protocol)*…

C++學習筆記(二十一)——文件讀寫

一、文件讀寫 作用: 文件讀寫指的是將數據從程序存儲到文件,或從文件讀取數據,以實現數據的持久化存儲。 C 提供了 fstream 頭文件,用于文件操作,主要包括: ofstream(輸出文件流)—…

RBA+minibatch的嘗試

目錄 還是咬著牙來寫 RBA了 JAX JAX->TORCH torch tensor的變形 pytorch怎么把一個【3,3,5】的tensor變成【3,10,5】,多的用0填充 pytorch如何把shape【100】轉成【100,1】 把torch shape【100,1】變成【100】 SQUEEZE grad_fn 不能兩次反向傳播 還…

基于Python+Django的二手房信息管理系統

項目介紹 PythonDjango二手房信息管理系統(Pycharm Django Vue Mysql) 平臺采用B/S結構,后端采用主流的Python語言進行開發,前端采用主流的Vue.js進行開發。 整個平臺包括前臺和后臺兩個部分。 - 前臺功能包括:首頁、二手房信息、公告管理、…

爬蟲基礎之爬取貓眼Top100 可視化

網站: TOP100榜 - 貓眼電影 - 一網打盡好電影 本次案例所需用到的模塊 requests (發送HTTP請求) pandas(數據處理和分析 保存數據) parsel(解析HTML數據) pyecharts(數據可視化圖表) pymysql(連接和操作MySQL數據庫) lxml(數據解析模塊) 確定爬取的內容: 電影名稱 電影主演…

解決Qt信號在構造函數中失效的問題

情景引入:音樂播放器的“幽靈列表”問題 假設你正在開發一個音樂播放器應用,其中有一個功能是用戶首次打開應用時,需要從服務器拉取最新的歌曲列表并顯示在“本地音樂”頁面中。你可能會寫出類似這樣的代碼: // LocalSong 類的構…

Hadoop 啟動,發現 namenode、secondary namenodes,這兩個沒有啟動,報錯超時。

今天在啟動 hadoop 的時候,發現本應該同時啟動的 namenode、secondary namenodes 卻都沒有啟動。我還以為是壞了又重新裝了虛擬機,重新下載 Hadoop 重新配置結果還是同樣的問題,那沒辦法只能去解決問題了。 首先先再次嘗試啟動看他報錯是什么…

Ranger 鑒權

Apache Ranger 是一個用來在 Hadoop 平臺上進行監控,啟用服務,以及全方位數據安全訪問管理的安全框架。 使用 ranger 后,會通過在 Ranger 側配置權限代替在 Doris 中執行 Grant 語句授權。 Ranger 的安裝和配置見下文:安裝和配置 …

Sqlserver安全篇之_啟用和禁用Named Pipes的案列介紹

https://learn.microsoft.com/zh-cn/sql/tools/configuration-manager/named-pipes-properties?viewsql-server-ver16 https://learn.microsoft.com/zh-cn/sql/tools/configuration-manager/client-protocols-named-pipes-properties-protocol-tab?viewsql-server-ver16 默認…

深入解析過濾器模式(Filter Pattern):一種靈活高效的設計模式

過濾器模式(Filter Pattern),也被稱為標準模式,是一種常見的結構型設計模式。它通過將對象分為不同的標準或條件,使得對對象集合的操作變得更加靈活和高效。特別適用于處理復雜查詢和條件過濾的場景。過濾器模式不僅能…

Spring Boot 整合 Elasticsearch 實踐:從入門到上手

引言 Elasticsearch 是一個開源的分布式搜索引擎,廣泛用于日志分析、搜索引擎、數據分析等場景。本文將帶你通過一步步的教程,在 Spring Boot 項目中整合 Elasticsearch,輕松實現數據存儲與查詢。 1. 創建 Spring Boot 項目 首先&#xff…

2025年Postman的五大替代工具

雖然Postman是一個廣泛使用的API測試工具,但許多用戶在使用過程中會遇到各種限制和不便。因此,可能需要探索替代解決方案。本文介紹了10款強大的替代工具,它們能夠有效替代Postman,成為你API測試工具箱的一部分。 什么是Postman&…