茶包專欄 pip 安裝 M2Crypto 失敗:swig error : Unrecognized option -builtin

2016-06-16 Python, 茶包專欄

今天在用 pip 安裝 M2Crypto 的時候遇到安裝失敗,錯誤訊息提示:

building 'M2Crypto.__m2crypto' extension
swigging SWIG/_m2crypto.i to SWIG/_m2crypto_wrap.c
swig -python -D__x86_64__ -I/usr/local/python3.5/include/python3.5m -I/usr/include -I/usr/include/openssl -includeall -modern -builtin -outdir build/lib.linux-x86_64-3.5/M2Crypto -o SWIG/_m2crypto_wrap.c SWIG/_m2crypto.i
swig error : Unrecognized option -builtin
Use 'swig -help' for available options.
error: command 'swig' failed with exit status 1

 

swig 找不到 -builtin 參數,grep 了一下 help 確實沒有,發現 CentOS 6 中內建的 swig 版本是 1.3.40-6,但目前的 swig 版本已經升到 3.0.10,也太舊了!!

$ rpm -qa | grep swig

swig-1.3.40-6.el6.x86_64

 

從 repo 套件上是找不到升級版本的,索性直接 compiler 使用

 

安裝 swig,官方最新版本下載

$ wget http://prdownloads.sourceforge.net/swig/swig-3.0.10.tar.gz
$ tar zxvf swig-3.0.10.tar.gz
$ cd swig-3.0.10
$ ./configure --prefix=/usr
$ make && make install

 

驗證 swig 版本

$ swig -version | grep Version
SWIG Version 3.0.10

 

pip 安裝 M2Crypto

$ pip install m2crypto
Collecting m2crypto
  Using cached M2Crypto-0.24.0.tar.gz
Installing collected packages: m2crypto
  Running setup.py install for m2crypto ... done
Successfully installed m2crypto-0.24.0

搞定!

 

 

如果你在編譯 swig 的時候出現錯誤

checking for pcre-config... no
configure: error: in `/root/swig-3.0.10':
configure: error: 
        Cannot find pcre-config script from PCRE (Perl Compatible Regular Expressions)

 

代表你少了 pcre Library

$ yum install pcre-devel

 

 

 

 

給 Mr. 沙先生一點建議

彙整

分類

展開全部 | 收合全部

License

訂閱 Mr. 沙先生 的文章

輸入你的 email 用於訂閱