【error】command 'x86_64-linux-gnu-gcc' failed with exit status 1

command ‘x86_64-linux-gnu-gcc’ failed with exit status 1

在公司的新机器上装一个需要编译的库的时候,报错了,直接百度到解决方法

sudo apt-get install build-essential python3-dev libssl-dev libffi-dev libxml2 libxml2-dev libxslt1-dev zlib1g-dev

说是缺少库,但是真的不建议直接这么一通乱装,装完可能会导致一些库和现有的程序有版本上的冲突。
又百度了一波:主要是机器是新的,linux中的一些头文件没有,x86_64-linux-gnu-gcc就是一个。
先装python3.x-dev就完事了(x是对应你自己的python版本哦。)

python3.x-dev和我现有的python是什么关系呢?

linux发行版通常会把类库的头文件和相关的pkg-config分拆成一个单独的xxx-dev(el)包.
以python为例, 以下情况你是需要python-dev的

你需要自己安装一个源外的python类库, 而这个类库内含需要编译的调用python api的c/c++文件
你自己写的一个程序编译需要链接libpythonXX.(a|so)
(注:以上不含使用ctypes/ffi或者裸dlsym方式直接调用libpython.so)
其他正常使用python或者通过安装源内的python类库的不需要python-dev.(我这时候编译c/c++文件就需要啦)
python-dev的包在centos的yum中不叫python-dev,而是python-devel.

1.python-dev或python-devel
python-dev或python-devel称为是python的开发包,
其中包括了一些用C/Java/C#等编写的python扩展在编译的时候依赖的头文件等信息。
比如我们在编译一个用C语言编写的python扩展模块时,因为里面会有#include<Python.h>等这样的语句,因此我们就需要先安装python-devel开发包。
2.各种.devel开发包*
linux编程中,还会遇到各种*-devel开发包,例如mysql-devel、libgtk±devel等等。
-devel开发包中主要包括一些头文件和静态链接库。任何-devel包基本都是这样。

备注:
注意python-dev或者其他*.devel软件一般都是C语言编写的一些头文件或cpp文件,
往往是其他模块或这我们自己写的模块在编译时,需要依赖这些*-devel软件包
部分文章出处:找不到源头····

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值