【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軟件包
部分文章出處:找不到源頭····

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章