首页 > 其他分享 >blockchain | 交叉编译armv8的pbc库

blockchain | 交叉编译armv8的pbc库

时间:2023-04-14 12:14:22浏览次数:32  
标签:gnu aarch64 blockchain 编译 pbc linux armv8 gmp

blockchain | 交叉编译armv8的pbc库

这块儿网上是没啥具体的资料的,因为要测试pbc库在安卓上的性能,但是网上pbc的支持只到armv7,就只能自己编译了。

大致流程:

  1. 下载gmp库源码
  2. 下载pbc库源码
  3. 编译gmp
  4. 编译pbc
  5. 编译测试程序

这里使用的是aarch64-linux-gnu-g++ and aarch64-linux-gnu-gcc
在ubuntu下编译的。
动态编译由于android和linux的linker不同并不能跑,所以采用静态编译。
我使用的命令基本如下,具体可能略有差异。

# 交叉编译gmp
CFLAGS="-march=armv8"
./configure --enable-cxx  --host=aarch64-linux-gnu --prefix=/root/arm/gmp/

# pbc:
export LDFLAGS="-L/root/arm/gmp/lib"
export CPPFLAGS="-I/root/arm/gmp/include"
./configure --host=aarch64-linux-gnu --prefix=/root/arm/pbc/

# 动态链接
aarch64-linux-gnu-g++ testpbc.cpp -o testpbc -I./pbc/include -I./gmp/include -lgmp -lgmpxx -lpbc -L. 
# 静态链接
aarch64-linux-gnu-g++ libpbc.a libgmp.a libgmpxx.a testpbc.cpp -o testpbc -I./pbc/include -I./gmp/include -lpbc -lgmp -L. -static

标签:gnu,aarch64,blockchain,编译,pbc,linux,armv8,gmp
From: https://www.cnblogs.com/Mz1-rc/p/17317899.html

相关文章

  • COMP5125M Blockchain Technologies
    ModuletitleBlockchainTechnologiesModulecodeCOMP5125MAssignmenttitleCourseworkAssignmenttypeanddescriptionItisaprogrammingassignmentwherestudentsarere-quiredtodevelopsmartcontractsforpeer-to-peeren-ergytrading.RationaleTheaimoft......
  • blockchain | 基于ethers.js的ctf合约攻击模板
    blockchain|基于ethers.js的ctf合约攻击模板之前做题用的是truffle命令行和truffleexec来进行编写代码,封装的层级比较高,这个框架主要还是用来开发比较方便,看了大师傅的wp(https://www.seaeye.cn/archives/497.html)以后觉得还是得写一个自己用起来顺手的攻击模板。使用ethers......
  • blockchain | 使用truffle测试合约
    blockchain|使用truffle测试合约使用truffletest功能对之前的合约进行测试参考:https://www.qikegu.com/docs/4816本质上的过程还是部署到测试链子上,然后进行一系列操作。如果要临时环境还可以用truffledevelop进行创建:https://learnblockchain.cn/docs/truffle/quickstart......
  • blockchain | truffle console 访问合约
    blockchain|truffleconsole访问合约今天用truffleconsole来测试昨天部署的合约。一开始报错invalidopcode,查了一下还是创世区块配置的问题,这里贴上最新的配置文件:{"config":{"chainId":15,"homesteadBlock":0,"byzantiumBlock":0,......
  • blockchain | 将合约部署到geth
    blockchain|将truffle合约部署到geth【一路踩坑】上一篇文章里我用truffle编写了一个测试合约,这次得部署到链子上。本文包含诸多试错过程先把geth跑起来1.更改配置文件更改truffle-config.js主要就是配置一下网络(对接geth)2.创建迁移脚本据教程的说法是要文件名写......
  • blockchain | 通过truffle编写合约
    blockchain|通过truffle编写合约有了前两篇环境搭建的基础,开始编写智能合约。(虽然部署了geth,但是truffle也有自带的私有链子环境可以用)参考官方文档:https://learnblockchain.cn/docs/truffle/quickstart.html#creating-a-project以及教程:https://www.qikegu.com/docs/4782......
  • 【五期李伟平】(BIGCOM'19)FLChain: A Blockchain for Auditable Federated Learning wi
    Bao,Xianglin,etal."FLChain:ABlockchainforAuditableFederatedLearningwithTrustandIncentive."20195thInternationalConferenceonBigDataComput......
  • 联邦学习论文阅读笔记11 FGFL: A blockchain-based fair incentive governor for Fede
    面对的问题:激励分配不均、攻击者欺骗 方法:提出FGFL模型。1)设计了时间衰减SLM算法度量工作者声誉;2)设计了基于梯度相似度的轻量级方法度量工作者贡献;3)提出了一种公平的激......
  • 【ARM架构】armv8 系统安全概述
    ARMv8-A系统中的安全一个安全或可信的操作系统保护着系统中敏感的信息,例如,可以保护用户存储的密码,信用卡等认证信息免受攻击。安全由以下原则定义:保密性:保护设备上的......
  • Install Chia Blockchain on Ubuntu
    InstallChiaBlockchainonUbuntuPostedon May4,2021ChiaisanewkindaofCryptoCurrencythatinsteadofusingPoW(ProofofWork)itusesProofofSpa......