ubuntu上安裝gcc


首先我是直接根據別人博客來的:

  1.  sudo apt update
  2.  sudo apt install build-essential

主要是說 build-essential 中包含了 GNU 編輯器集合,GNU調試器和其他編譯軟件所必須的開發庫和工具。

結果,報錯了。

我一開始想到的是直接上博客搜,查到兩種解決方案:

  1. 殺死之前的進程

    查出與 apt 相關的進程,然后直接關了。

     ps -e|grep apt

    然后將進程殺死:

    但是我的下載依舊報錯;因此我采用了第二種方法。

  2. 強制解鎖

    按照別人的博客所說,刪除以下兩個文件就行了,如下所示:

     sudo rm /var/cache/apt/archives/lock
     sudo rm /var/lib/dpkg/lock

    但是我依舊報錯:

     ~$ sudo apt install build-essential
     E: 無法獲得鎖 /var/lib/dpkg/lock-frontend - open (11: 資源暫時不可用)
     E: 無法獲取 dpkg 前端鎖 (/var/lib/dpkg/lock-frontend),是否有其他進程正占用它?

    不急,慢慢來。

    這時我發現報錯里貌似有指明沖突在哪,於是我試了試直接強制解鎖這里的:

     sudo rm /var/lib/dpkg/lock-frontend

    再安裝試試?

     ~$ sudo apt-get install build-essential
     E: dpkg 被中斷,您必須手工運行 ‘sudo dpkg --configure -a’ 解決此問題。

    行,那就運行吧。

     ~$ sudo dpkg --configure -a
     dpkg: 錯誤: 另外一個進程已經為 dpkg 狀態數據庫 加鎖

    額,,,不慌,於是我試了試 apt-get 而不是直接用 apt 安裝:

     ~$ sudo apt install build-essential
     正在讀取軟件包列表... 完成
     正在分析軟件包的依賴關系樹      
     正在讀取狀態信息... 完成      
     有一些軟件包無法被安裝。如果您用的是 unstable 發行版,這也許是
     因為系統無法達到您要求的狀態造成的。該版本中可能會有一些您需要的軟件
     包尚未被創建或是它們已被從新到(Incoming)目錄移出。
     下列信息可能會對解決問題有所幫助:
     
     下列軟件包有未滿足的依賴關系:
      build-essential : 依賴: dpkg-dev (>= 1.17.11) 但是它將不會被安裝
     E: 無法修正錯誤,因為您要求某些軟件包保持現狀,就是它們破壞了軟件包間的依賴關系。

    我本以為是部分軟件版本的問題,於是我又跑了一遍 sudo apt install update,但是看起來事情並沒這么簡單

     ~$ sudo apt update
     命中:1 http://security.ubuntu.com/ubuntu bionic-security InRelease            
     命中:2 http://cn.archive.ubuntu.com/ubuntu bionic InRelease                    
     命中:3 http://cn.archive.ubuntu.com/ubuntu bionic-backports InRelease
     正在讀取軟件包列表... 完成                        
     正在分析軟件包的依賴關系樹      
     正在讀取狀態信息... 完成      
     所有軟件包均為最新。
     ~$ sudo apt install build-essential
     正在讀取軟件包列表... 完成
     正在分析軟件包的依賴關系樹      
     正在讀取狀態信息... 完成      
     有一些軟件包無法被安裝。如果您用的是 unstable 發行版,這也許是
     因為系統無法達到您要求的狀態造成的。該版本中可能會有一些您需要的軟件
     包尚未被創建或是它們已被從新到(Incoming)目錄移出。
     下列信息可能會對解決問題有所幫助:
     
     下列軟件包有未滿足的依賴關系:
      build-essential : 依賴: dpkg-dev (>= 1.17.11) 但是它將不會被安裝
     E: 無法修正錯誤,因為您要求某些軟件包保持現狀,就是它們破壞了軟件包間的依賴關系。

    看來並不是這里的問題,再去網上找找有沒有大佬遇到過類似的問題吧。然后就找到了:

    1. 移除 libdpkg-perl 這個軟件:

       ~$ sudo apt-get remove libdpkg-perl
    2. 再安裝 libdpkg-perl:

       ~$ sudo apt-get install libdpkg-perl
    1. 再安裝build-essential:

       ~$ sudo apt-get install build-essential

      至此,問題解決。

     

總結:

有問題可以上網查,但別看都不看直接拿來用,有一點差異的話直接復制粘貼是無法解決的,我在殺死進程和強制解鎖那邊其實繞了很久,如果直接放進來的話還是太長了。總之,查問題需要結合自己的報錯來看,終端的報錯才是解決問題的關鍵。

 

參考:

如何在 Ubuntu 20.04 上安裝 GCC(build-essential)-阿里雲開發者社區 (aliyun.com)

Ubuntu E: 無法獲得鎖 /var/lib/dpkg/lock-frontend – open (11: 資源暫時不可用) - 雲+社區 - 騰訊雲 (tencent.com)

64位ubuntu在安裝build-essential遇到依賴問題的解決辦法煮蝦子的專欄-CSDN博客crossbuild-essential-arm64

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM