首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Linux yum 安裝軟件導致 GCC 版本回退問題及解決

     編輯:程式設計綜合問答

現象

源碼編譯安裝 GCC 4.9.1 後,用 yum 安裝 subversion,導致系統 gcc 變回 4.4.7。

原因

yum 解決依賴時,發現 subversion 需要 gcc,而系統倉庫中的 gcc 版本是 4.4.7,于是安裝/覆蓋了系統默認路徑(/usr/bin/gcc)下的可執行文件。

最佳實踐:共存多版本 GCC

  1. 源碼安裝到 /usr/local 或 /opt/gcc-4.9:
    ./configure --prefix=/opt/gcc-4.9
    make && make install
  2. 不覆蓋系統默認 gcc:編譯出的可執行文件為 gcc-4.9、g++-4.9。
  3. 環境變量切換:
    export PATH=/opt/gcc-4.9/bin:$PATH
    export LD_LIBRARY_PATH=/opt/gcc-4.9/lib64:$LD_LIBRARY_PATH
    或用 update-alternatives 管理優先級。
  4. 項目級指定:CMake 中 set(CMAKE_C_COMPILER /opt/gcc-4.9/bin/gcc)。

總結

系統包管理器維護的是穩定版,自定義版本請隔離安裝,通過路徑或模塊管理切換,避免污染基礎環境。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved