02 ABY框架的搭建及踩到的坑
参考资料:https://github.com/encryptogroup/ABY
前言:
ABY框架在Ubuntu系统中完成依赖包的安装和运行环境的配置之后,在搭建ABY框架还是出现了一些问题,下面列举其中比较有代表性的问题记录一下。
文章目录
- (一)ABY框架的搭建
- (二)踩到的坑以及解决
- (三)ABY的实例运行:百万富翁
(一)ABY框架的搭建
注:参考https://github.com/encryptogroup/ABY
1. Clone the ABY git repository by running:2. git clone https://github.com/encryptogroup/ABY.git3. Enter the Framework directory: cd ABY/4. Create and enter the build directory: mkdir build && cd build5. Use CMake configure the build: `cmake ..`/*This also initializes and updates the Git submodules of the dependencies located in extern/.If you plan to work without a network connection, you should to a --recursive clone in Step 1.*/6. Call make in the `build`directory. /*You can find the build executables and libraries in the directories bin/ and lib/, respectively.*/
(二)踩到的坑以及解决
问题1:g++的版本与要求不符
解决方案1:安装g+±8
(1)直接使用命令安装
sudo apt-get install g++-8
(3)检查g++版本
g++ --version
问题2:g++版本升级后还是没有解决问题
解决方案2:删除原来的g++版本的软链接(卸载原来版本)
(1)进入/usr/bin
目录下
ls /usr/bin/g++*
(2)删除所有软链接,然后创建新的软链接指向g+±8.
sudo rm g++
sudo ln -s /usr/bin/g++-8 g++
问题3:安装boost的版本与要求不符
解决方案4:分析报错代码,并重新安装
(1)具体定位到报错的代码位置
(2)重新安装
- 到boost官网安装一个boost库的压缩包
- 解压
tar -xzvf boost_1_70_0.tar.gz
- 解压出来以后,进入解压出来的文件夹
- 执行下面的命令
sudo ./bootstrap.sh
在执行下面的命令 - 这样头文件就被默认安装在
/usr/local/include
头文件下 - 库文件就被默认安装在
/usr/local/lib
下sudo ./b2 install
- 成功解决!
(三)ABY的实例运行:百万富翁
(1)搭建ABY框架
注:参考https://github.com/encryptogroup/ABY
Make sure you have build ABY as described above and set the
-DABY_BUILD_EXE=On
option and the application’s binary was created inbin/
inside the build directory.To locally execute an application, run the created executable from two different terminals and pass all required parameters accordingly.
By default applications are tested locally (via sockets on localhost). You can run them on two different machines by specifying IP addresses and ports as parameters.
Example: The Millionaire’s problem requires to specify the role of the executing party. All other parameters will use default values if they are not set. You execute it locally with:
./millionaire_prob.exe -r 0
and./millionaire_prob.exe -r 1
, each in a separate terminal.You should get some debug output for you to verify the correctness of the computation.
Performance statistics can be turned on setting #define
PRINT_PERFORMANCE_STATS 1
insrc/abycore/ABY
_utils/ABYconstants.h in line 32.
反复调试了几次之后,终于搭建成功了:
(2)运行结果截图:
后记:
虽然上面只记录了一些小问题,还是踩到很多坑hhh,采用万能调试法
总能跑出来的,希望能给一些同样踩坑的朋友们一些小帮助,然后跑出来之后还是得对代码进行详细的解读才有学习的意义呀,那会是下一篇博客的内容啦!
02 ABY框架的搭建及踩到的坑相关推荐
- 用vant框架做H5时踩过的坑(下拉刷新、上拉加载等)
用vant框架做H5时踩过的坑 1. 页面在手机端不能上下滑动,在PC端浏览器正常滑动 说明:在设置了overflow:auto;属性的前提下,H5页面在PC端浏览器里展示可以上下滑动,在ios上可正 ...
- linux平台下MongoDB安装和环境搭建及踩过的坑
由于demo上线部署时需要用到mongodb来存储数据,这里决定写一篇博客来记录一下安装过程以及遇到的问题的解决方案. 注:文末有福利! 先写一下安装并启动mongodb正确的步骤,然后再总结其中遇到 ...
- 搭建风控系统道路上踩过的坑合集
作者前言 从业近10年,大大小小参与了3家公司不同领域的风控系统的设计,从前到后把风控系统所有环节都细细的琢磨过,然而至今仍然感觉刚刚一只脚踏进门而已. 大多数人做的产品都是目的明确的,比如订单支付. ...
- 基于Maven的Springboot+Mybatis+Druid+Swagger2+mybatis-generator框架环境搭建
首页 Android Java 服务器 标签云 作品 关于 赞助列表 <a href="https://github.com/RayeWang" class="f ...
- 微服务框架搭建个人总结(避坑专用)
SpringCloud微服务框架搭建个人总结(避坑专用) 搭建springcloud微服务框架(基础) 踩坑记录 搭建框架 Eureka服务注册中心 Gateway网关 路由配置 Feign服务通信 ...
- idea ssm框架 mysql_idea搭建简单ssm框架的最详细教程(新)
为开发一个测试程序,特搭建一个简单的ssm框架,因为网上看到很多都是比较老旧的教程,很多包都不能用了,eclipes搭建并且其中还附带了很多的其他东西,所以特此记录一下mac中idea搭建过程. 另: ...
- 第02章_MySQL环境搭建
第02章_MySQL环境搭建 1. MySQL的卸载 步骤1:停止MySQL服务 在卸载之前,先停止MySQL8.0的服务.按键盘上的"Ctrl + Alt + Delete"组合 ...
- MVVM框架的搭建(二)——项目搭建
介绍完背景以及初衷之后,我们开始搭建MVVM的框架,这一部分我们进行简单的搭建,了解MVVM架构的基本结构. MVVM框架的搭建(一)--背景 MVVM框架的搭建(二)--项目搭建 MVVM框架的搭建 ...
- mvc框架自个儿搭建
mvc 框架 自己搭建 php框架 个人觉得根据自己需求,选中最佳最适合自己MVC框架,并在开发中能够体现出敏捷开发的效果就OK了,作为一个PHPer要提高自己的对PHP和MVC的框架的认识,所以自己 ...
最新文章
- SAP QM初阶之物料主数据QM视图里的Preferred Inpspection Type
- 物联网网关市场预计到2026年将增长21.5亿美元
- 删除表格数据后自动刷新_Calliope: 表格数据的自动故事生成系统
- python去哪里学-杭州python编程入门去哪学?
- information_schema中的所有表和视图
- VMware上安装 Windows server 2012R2 教程
- Roundcube Webmail信息泄露漏洞(CVE-2015-5383)
- 什么是Eureka注册中心
- jmeter--正则提取json串中一个大括号对象里指定字段值的的另一个字段的值
- PAT (Basic Level) Practice1017 A除以B
- Eclipse安装包下载慢解决方法
- 阈值分割之大津法OTSU
- 用Tikz 画一幅神舟12号简图,致敬中国航天工作者,顺便学习Tikz作图的高级技巧!
- 从百度指数到微信指数,我们正进入“数据世界”
- java的cursor_JAVA中类 Cursor的定义.
- MySQL(4.常见函数)
- windows删除注册表中多余信息及卸载残余应用
- PowerQuery操作分类
- 服务器如何验证jwt,使用JWT实现前后端权限验证
- 详解爬电距离和电气间隙