前文
公司引入了阿里云centos,在新的阿里云上安装salt的时候报错如下,由于暂未升级到python3的salt,所以是直接用的pip install salt安装,结果报错,显示configure error: cannot run C compiled programs!具体如下:
解决思路
首先根据报错说的,通过config.log查看详细报错信息,结果find / -name config.log并没有找到。。。另一方面观察到是/tmp下的pycrypto包出现异常,所以尝试卸载重装,结果仍旧报一样的错,显示runtimeerror:autoconf error;所以怀疑是CPython包在C下编译异常了,尝试网上求解。
在google搜了大量的资料,发现相关的甚少,并且尝试了大量的操作(根据别人的解决方法安装了大量包),发现都没用。。。包括更新了pip、安装了setuptools、安装了development tools、安装了gcc、安装了gcc ++等等,结果都失败;最后在如下的这篇stackoverflow里提供了解决方法,连接如下:pycrypto installation: configure error: cannot run C compiled programs
详细内容截图如下,根据大神的描述,需要修改/tmp这个挂载点,这里采用的是第二种方法,即重建一个tmp的目录,然后指定pycrypto到该目录下:
如果按照上述的方法安装后仍旧报错如下,这时再安装python-devel,命令如下:
yum install python-devel
最后即可成功安装salt:
总结
涉及到linux的编译、装载的问题,还是有很多不懂,这些底层的知识还是要慢慢打磨!