参考资料: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/libsudo ./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=Onoption and the application’s binary was created in bin/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 in src/abycore/ABY_utils/ABYconstants.h in line 32.
    反复调试了几次之后,终于搭建成功了:

    (2)运行结果截图:


    后记:
    虽然上面只记录了一些小问题,还是踩到很多坑hhh,采用万能调试法总能跑出来的,希望能给一些同样踩坑的朋友们一些小帮助,然后跑出来之后还是得对代码进行详细的解读才有学习的意义呀,那会是下一篇博客的内容啦!

02 ABY框架的搭建及踩到的坑相关推荐

  1. 用vant框架做H5时踩过的坑(下拉刷新、上拉加载等)

    用vant框架做H5时踩过的坑 1. 页面在手机端不能上下滑动,在PC端浏览器正常滑动 说明:在设置了overflow:auto;属性的前提下,H5页面在PC端浏览器里展示可以上下滑动,在ios上可正 ...

  2. linux平台下MongoDB安装和环境搭建及踩过的坑

    由于demo上线部署时需要用到mongodb来存储数据,这里决定写一篇博客来记录一下安装过程以及遇到的问题的解决方案. 注:文末有福利! 先写一下安装并启动mongodb正确的步骤,然后再总结其中遇到 ...

  3. 搭建风控系统道路上踩过的坑合集

    作者前言 从业近10年,大大小小参与了3家公司不同领域的风控系统的设计,从前到后把风控系统所有环节都细细的琢磨过,然而至今仍然感觉刚刚一只脚踏进门而已. 大多数人做的产品都是目的明确的,比如订单支付. ...

  4. 基于Maven的Springboot+Mybatis+Druid+Swagger2+mybatis-generator框架环境搭建

    首页 Android Java 服务器 标签云 作品 关于 赞助列表  <a href="https://github.com/RayeWang" class="f ...

  5. 微服务框架搭建个人总结(避坑专用)

    SpringCloud微服务框架搭建个人总结(避坑专用) 搭建springcloud微服务框架(基础) 踩坑记录 搭建框架 Eureka服务注册中心 Gateway网关 路由配置 Feign服务通信 ...

  6. idea ssm框架 mysql_idea搭建简单ssm框架的最详细教程(新)

    为开发一个测试程序,特搭建一个简单的ssm框架,因为网上看到很多都是比较老旧的教程,很多包都不能用了,eclipes搭建并且其中还附带了很多的其他东西,所以特此记录一下mac中idea搭建过程. 另: ...

  7. 第02章_MySQL环境搭建

    第02章_MySQL环境搭建 1. MySQL的卸载 步骤1:停止MySQL服务 在卸载之前,先停止MySQL8.0的服务.按键盘上的"Ctrl + Alt + Delete"组合 ...

  8. MVVM框架的搭建(二)——项目搭建

    介绍完背景以及初衷之后,我们开始搭建MVVM的框架,这一部分我们进行简单的搭建,了解MVVM架构的基本结构. MVVM框架的搭建(一)--背景 MVVM框架的搭建(二)--项目搭建 MVVM框架的搭建 ...

  9. mvc框架自个儿搭建

    mvc 框架 自己搭建 php框架 个人觉得根据自己需求,选中最佳最适合自己MVC框架,并在开发中能够体现出敏捷开发的效果就OK了,作为一个PHPer要提高自己的对PHP和MVC的框架的认识,所以自己 ...

最新文章

  1. SAP QM初阶之物料主数据QM视图里的Preferred Inpspection Type
  2. 物联网网关市场预计到2026年将增长21.5亿美元
  3. 删除表格数据后自动刷新_Calliope: 表格数据的自动故事生成系统
  4. python去哪里学-杭州python编程入门去哪学?
  5. information_schema中的所有表和视图
  6. VMware上安装 Windows server 2012R2 教程
  7. Roundcube Webmail信息泄露漏洞(CVE-2015-5383)
  8. 什么是Eureka注册中心
  9. jmeter--正则提取json串中一个大括号对象里指定字段值的的另一个字段的值
  10. PAT (Basic Level) Practice1017 A除以B
  11. Eclipse安装包下载慢解决方法
  12. 阈值分割之大津法OTSU
  13. 用Tikz 画一幅神舟12号简图,致敬中国航天工作者,顺便学习Tikz作图的高级技巧!
  14. 从百度指数到微信指数,我们正进入“数据世界”
  15. java的cursor_JAVA中类 Cursor的定义.
  16. MySQL(4.常见函数)
  17. windows删除注册表中多余信息及卸载残余应用
  18. PowerQuery操作分类
  19. 服务器如何验证jwt,使用JWT实现前后端权限验证
  20. 详解爬电距离和电气间隙

热门文章

  1. 一维数组的使用:逆序输出数据/:任意输入5个数据,存放于数组,编程实现将这5个数据逆序存放并输出
  2. SaaS企业如何降低客户流失率?
  3. LeetCode #743 Network Delay Time
  4. HDU oj 自动交题爬虫
  5. Altium Designer操作——创建元器件——同一SchLib库下创建多个器件模型
  6. nc: command not found完美解决(linux配置nc命令)
  7. 常用的adodb使用方法
  8. 为开发者而生的Twig(上)-Twig使用指南
  9. 安卓逆向——dy急速版设备抓包分析
  10. (转载)OpenNI最新安装教程(图文教程)