pip install leveldb 编译错误解决
centos7,python3.3
# pip-python3 install leveldb
错误:
/usr/include/python3.3m/dynamic_annotations.h:472:3: error: template with C linkage
error: command 'gcc' failed with exit status 1
google 之,只有一个网页比较贴近这个问题:https://github.com/Wolframe/Wolframe/issues/100
大致意思是,Python.h 不应该被包含在 extern "C" 中,它本身可直接被C或C++源文件包含。
解决:
修改文件 /tmp/pip-build-root/leveldb/leveldb_ext.h,将 #include <Python.h> 移到 extern "C" 外面。
------------------------------------------------
centos 7, python3.4, 发现没有每次编译失败就会把 /tmp/pip-build-xxxxxx 目录删掉。
解决办法:
手动到 https://pypi.python.org/pypi/leveldb 下载页面上的源代码:
https://pypi.python.org/packages/source/l/leveldb/leveldb-0.193.tar.gz
解压开,同上,修改 leveldb_ext.h,然后切换到代码目录下,运行 setup.py,如下
cd leveldb-0.193
python3.4 setup.py install
如果遇到提示 找不到 Python.h 的错误,如下安装开发包:
yum install python34-devel.x86_64
------------------------------------------------
重新执行 pip-python3 install leveldb 编译,问题解决,安装成功。
查看项目官方地址 https://code.google.com/p/py-leveldb/,没有关于这个问题的 issue,而且项目已经被 google code 锁定。
在 https://code.google.com/archive/p/py-leveldb/source/default/commits 查看提交,最后一次提交是 2013年,而且2012年已经添加了对 python 3.3 的支持。这个问题已经存在了很久,而google没有关于这个问题的结果,有点奇怪啊。
最新文章
- [Aaronyang] 写给自己的WPF4.5 笔记21 [3d课 2/4]
- eclipse关联tomcat并且部署java web应用程序
- 当类库项目中无法使用Application.StartupPath
- ajax取json数据——简单的
- Android studio怎么创建shape的XML文件
- 【原创】 Docker 中 运行 ASP.NET Core 站点
- 201521123056 《Java程序设计》第14周学习总结
- 一种解决Android studio 3.0 Build报错的方法
- C#应用编程小例子-01-渐显的窗体
- Python3+Scapy安装使用教程
- iReport 5.6.0 安装包下载&;安装
- UGUI中Event Trigger的基本用法
- win10专业版激活工具很不错!
- UVA529 Addition Chains
- Linux Shell基础 Bash常见命令 history、alias命令以及常用快捷键
- UncategorizedSQLException Mybatis中jdbcType的作用
- linux批量匹配移动文件的方法
- LVS + KEEPALIVED + WINDOWS SERVER 2008 R2 ------高可用负载均衡(转)
- spring boot Filter过滤器的简单使用
- 1.4 Python基础知识 - 代码书写格式及条件判断";if ... else ...";