Ubuntu14.04安装JHUISI/charm(Python3环境)

在Ubuntu14.04下安装开源密码学库Charm(github主页),记录一下安装过程以及遇到的问题,主要参考github主页上ubuntu13.04的安装过程(https://github.com/JHUISI/charm/blob/dev/doc/source/install_source.rst)。

1、安装环境

操作系统:Ubuntu14.04LTS 64位

Python版本:Python3.4        (Ubuntu14.04自带有python2.7和python3.4,本文主要是在python3.4下安装)

2、安装依赖项

sudo apt-get install subversion

sudo apt-get install m4

sudo apt-get install python3

sudo apt-get install python3-setuptools python3-dev(for Python 3.x)

sudo apt-get install libssl-dev(ubuntu13.04安装教程中这一项针对python2,但实测python3中也需要这一步,不然后面charm configure.sh会显示libcrypto未找到)

sudo apt-get install libgmp-dev

3、进入charm-dev文件夹,运行:

sudo ./configure.sh

结果如下:

提示没有找到libpbc,选择从源码安装pbc库。

4、源码安装PBC密码库(PBC下载),进入pbc-0.5.14文件夹:

sudo apt-get install flex bison

./configure LDFLAGS="-lgmp"

make

sudo make install

sudo ldconfig

5、返回charm-dev文件夹,执行config后结果如下:



说明pbc库已成功安装。接着执行:

sudo make

sudo make install

sudo ldconfig

sudo make test

最后执行make test一般会遇到如下两个错误:

(1)your setuptools is too old (<12)


解决办法:

wget https://bootstrap.pypa.io/ez_setup.py -O - | sudo python3.4

(2)解决问题(1)后,再次执行make test,会出现six版本过低问题。


解决办法:

首先安装pip3:

sudo apt-get install python3-pip

sudo pip3 install --upgrade pip

接着安装新版本six:

sudo pip install --ignore-installed six

问题(1)、(2)解决后,make test结果如下:


6、使用update-alternatives命令修改系统默认python环境。

(1)使用ls /usr/bin/python* -ll 查看结果如下:


(2)使用如下命令增加python 2.7和python 3.4的可选项(此处应根据自己系统中已有的python版本来进行操作):

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.4 40

sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 30

(3)使用如下命令切换版本到python3.4

sudo update-alternatives --config python

显示如下,输入2即是自己需求的python 3.4版本: 


查看当前python版本如下,表明已修改成功。如果想改回python2,重复步骤(3),选择1即可。


7、选择代码测试,例如执行~/charm-dev/charm/schemes/abenc/abecn_bsw07.py文件,结果如下:

至此,安装过程结束。

后记:刚开始选择用pyenv管理python版本(参考:http://seisman.info/python-pyenv.html),安装完编译至make test都没有问题,但是运行~/charm-dev/charm/schemes/abenc/abecn_bsw07.py代码就会出现Import error,问题尚未解决。





评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值