zoukankan      html  css  js  c++  java
  • CentOS 编译安装 PyCrypto

    转载自:http://bugcharmer.blogspot.com/2012/07/building-pycrypto-on-amazon-ec2.html

    Step 1 - Install gcc/make


    $ sudo yum install gcc
    $ sudo yum install make

    That was easy.

    Step 2 - Install the GNU MP Arithmetic Library


    $ wget ftp://ftp.gmplib.org/pub/gmp-5.0.5/gmp-5.0.5.tar.bz2
    $ bunzip2 gmp-5.0.5.tar.bz2
    $ cd gmp-5.0.5
    $ sudo ./configure
    $ sudo make
    $ sudo make check
    $ sudo make install
    $ cd 

    Still not too bad.

    Step 3 - Install MPIR


    $ wget http://www.mpir.org/mpir-2.5.1.tar.bz2
    $ bunzip mpir-2.5.1.tar.bz2
    $ cd mpir-2.5.1
    $ sudo ./configure
    $ sudo make
    $ sudo make check
    $ sudo make install 
    $ cd

    Everything worked up through here.

    Intermission

    There are two problems you’ll run into if you try to build PyCrypto at this point: errors from missing header files and, once you resolve those, runtime errors complaining about an undefined symbol for rpl_malloc. Let’s fix that.

    Step 4 - Install the Python development headers


    $ sudo yum install python-devel

    Easy fix.

    Step 5 - Download PyCrypto


    $ wget http://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/pycrypto-2.6.tar.gz 
    $ tar xzvf pycrypto-2.6.tar.gz
    $ cd pycrypto-2.6

    Step 6 - Edit the Env


    $ export ac_cv_func_malloc_0_nonnull=yes

    The problem is that when you try to build PyCrypto, autotools thinks that we’re using rpl_malloc instead of malloc. I’m not sure how to fix this problem the right way, but this hack will get rid of the check and just have it use malloc. If someone knows the right way to fix this, please say something in the comments and I’ll update this post.

    否则会有如下错误:

    ImportError: /usr/local/lib/python2.6/dist-packages/pycrypto-2.6-py2.6-linux-x86_64.egg/Crypto/Cipher/_AES.so: undefined symbol: rpl_malloc

    Step 7 - Build PyCrypto


    $ python setup.py build
    $ sudo python setup.py install

    Step 8 - Test PyCrypto


    $ python
    >>> from Crypto.Cipher import AES

    If this works, you should be good to go.

    If it fails, you did something wrong. You can either rm -r pycrypto-2.6 and re-extract the archive or just rm -r the build folder then grep for anything that says “rpl_malloc” and comment it out. Also edit config.status and change ‘D[“HAVE_MALLOC”]=” 0”’ to say ‘=” 1”’. This is what I did the first time, but when I decided to write this up I started over to try to get it right from the start.

  • 相关阅读:
    C# 时间格式化
    下载好证书后,手机无法安装fiddler证书
    charles抓包步骤整理
    Windows 8的本地化应用程序清单
    代码滑动panorama-即程序中设置SelectedIndex
    WP7开发 Sqlite数据库的使用 解决Unable open the database
    mybatis plus eq and or
    弹出窗口
    父子窗口传递参数
    从后台数据库查询的List数据怎么在前台combobox显示
  • 原文地址:https://www.cnblogs.com/netflix/p/12098280.html
Copyright © 2011-2022 走看看