suse12中pip install xxx报错gcc: error: unrecognized command line option ‘-fstack-clash-protection’

我们在Linux中安装某些python的第三方包时,有时候需要gcc来进行协助编译安装(例如psutil、pycrypto等)

1.很不幸,最近在suse12中用pip install psutil时就遇到以上错误了,这个参数到底是做什么的呢,原来查阅资料后说新的选项-fstack-clash-protection使编译器可以在静态或动态分配堆栈空间时插入探针,以可靠地检测堆栈溢出,从而减轻依赖于操作系统提供的跳过堆栈保护页面的攻击向量,说真的不是很懂:
在这里插入图片描述
2.经查阅资料后发现gcc: error: unrecognized command line option ‘-fstack-clash-protection’是因为gcc版本的问题,解决此错误,需要将gcc的版本调整到5.4.0或者以上的版本,但是我调整到了5.4、5.5、6.0还是不行,升级方法参考这篇文章,最后看了这一篇博客后https://blog.csdn.net/rx3oyuyi/article/details/87972932,直接升级到了8.3

gcc-8.3.0百度云下载提取码48n2
gcc-8.3.0 wget下载:wget ftp://ftp.gnu.org/gnu/gcc/gcc-8.3.0/gcc-8.3.0.tar.gz
3.安装完了后再次安装可能还会报如下错误
在linux命令行安装包时报错 src/MD2.c:31:20: fatal error: Python.h: No such file or directory

原因:缺少了python的dev

解决方法:安装python-devel
如果zypper install python-devel安装失败,则可以尝试离线安装,python-devel的rpm包安装地址为:
http://rpmfind.net/linux/rpm2html/search.php?query=python-devel

rpm -ivh python-devel-2.7.13-27.6.1.x86_64.rpm

若出现以下提示:
在这里插入图片描述
则只需要修正命令为即可:

rpm -ivh python-devel-2.7.13-27.6.1.x86_64.rpm --force --nodeps

4.调整以后再次使用以下命令进行安装psutil即可正常进行安装了

pip install psutil -i https://pypi.douban.com/simple/

在这里插入图片描述

到此,suse中pip install xxx踩坑结束了

猜你喜欢

转载自blog.csdn.net/mingtiannihaoabc/article/details/103545564
今日推荐