Installing M2Crypto on CentOS

前端 未结 5 740
佛祖请我去吃肉
佛祖请我去吃肉 2021-02-14 12:07

I am trying to install M2Crypto on CentOS by compiling from the source. i am doing a python setup.py build But I get the following error,

/usr/local/lib/python         


        
相关标签:
5条回答
  • 2021-02-14 12:34

    I had this problem now (in 2018), I solved it by installing openssl-devel, gcc and make

    yum install gcc gcc-c++ make openssl-devel

    0 讨论(0)
  • 2021-02-14 12:35

    Install openssl-devel.

    0 讨论(0)
  • 2021-02-14 12:39

    The following should work:

    env SWIG_FEATURES="-cpperraswarn -includeall -D__`uname -m`__ -I/usr/include/openssl" python setup.py build
    

    Edit: and openssl-devel package is of course also required.

    0 讨论(0)
  • 2021-02-14 12:48

    I just had this problem. In M2Crypto's INSTALL file:

    Note about Fedora Core -based Distributions
    ----------------------------------------------------
    
    Fedora Core (and RedHat, CentOS etc.) have made changes to OpenSSL
    configuration compared to many other Linux distributions. If you can not
    build M2Crypto normally, try the fedora_setup.sh script included with
    M2Crypto sources.
    

    My solution was to get the sources from PyPI or from the source. Then in the M2Crypto directory:

    $ chmod +x fedora_setup.py
    $ ./fedora_setup.py install
    

    If you're using a virtualenv, change the path of the python interpreter in that file, or activate your environment before building.

    The only dependency that I had that wasn't satisfied on my system was openssl-devel.

    0 讨论(0)
  • 2021-02-14 12:52

    Follow Brian's instruction, and make sure you have install openssl-devel. if you experience error like this:

    ./fedora_setup.sh build
    running build
    running build_py
    running build_ext
    building 'M2Crypto.__m2crypto' extension
    swigging SWIG/_m2crypto.i to SWIG/_m2crypto_wrap.c
    swig -python -I/usr/include/python2.6 -I/usr/include -includeall -o SWIG/_m2crypto_wrap.c SWIG/_m2crypto.i
    SWIG/_evp.i:12: Error: Unable to find 'openssl/opensslconf-i686.h'
    SWIG/_ec.i:7: Error: Unable to find 'openssl/opensslconf-i686.h'
    error: command 'swig' failed with exit status 1
    

    You are running i386 operating system on 64 bit hardware. arch =´uname -m´ will yields i686. The easiest way is to work around this is to create a symbolic link.

    sudo ln -s /usr/include/openssl/opensslconf-i386.h /usr/include/openssl/opensslconf-i686.h
    

    Or if you experience errors like:

    ./fedora_setup.sh build
    running build
    running build_py
    running build_ext
    SWIG/_m2crypto_wrap.c:27555: error: ‘Swig_var__evp_err_set’ undeclared (first use in this function)
    SWIG/_m2crypto_wrap.c:27564: error: ‘Swig_var__dh_err_get’ undeclared (first use in this function)
    SWIG/_m2crypto_wrap.c:27564: error: ‘Swig_var__dh_err_set’ undeclared (first use in this function)
    SWIG/_m2crypto_wrap.c:27576: error: ‘Swig_var__rsa_err_get’ undeclared (first use in this function)
    ...
    

    Some headers are missing, just issue the following command and try again:

    sudo yum install python-devel
    
    0 讨论(0)
提交回复
热议问题