首頁  >  問答  >  主體

linux命令行为什么输入sudo ./configure提示找不到命令

改成./configure又显示权限不够

怪我咯怪我咯2741 天前2487

全部回覆(7)我來回復

  • 怪我咯

    怪我咯2017-04-17 15:18:54

    ~ chmod +x ./configure
    ~ ./configure
    shell腳本記得在新機器上加入執行權限

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-17 15:18:54

    因為你很多細節沒說, 這裡只能是猜測.

    1, ./configureGNU自動化工具中只是用來產生Makefile檔案的, 並不需要sudo, 最後make install時才需要sudo.

    2, 通常情況下configure檔案都是預設有執行權限的, 但並不完全保證, 所以驗證下是否有執行權限還是必要的.

    3, configure會產生檔案的, 確保你在目前目錄中有寫權限, 不然的話也會權限不足.

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-17 15:18:54

    沒有執行權限吧 看一下權限是不是沒有x

    回覆
    0
  • 迷茫

    迷茫2017-04-17 15:18:54

    只有加執行權限才可以執行的,不然只能查看和編輯。

    sudo chmod +x configure
    ./configure

    但一般來說現成的軟體包都會加上執行權限的,你裝的是什麼軟體?

    回覆
    0
  • 天蓬老师

    天蓬老师2017-04-17 15:18:54

    檢查一下是否有這個檔案

    回覆
    0
  • 迷茫

    迷茫2017-04-17 15:18:54

    你的檔案是不是可以直接啟動的(即二進位檔案),如果是就不需要configure

    回覆
    0
  • 怪我咯

    怪我咯2017-04-17 15:18:54

    謝邀~~

    前幾天外出,沒上網,現在給題主一些個人看法和一些建議,如果你覺得有用就採納吧,有錯歡迎指出,覺得回答不錯就點個讚咯~~

    簡述

    首先,我猜題主是在進行編譯安裝的過程中發現這個問題的,所以我想結合linux下的變異安裝需要的一些指令以及它們的作用:

    • 在linux裡編譯安裝軟體會用到諸如 configure / make / make install
      的命令,這些都是典型的使用GNU的autoconf和automake產生的程式的安裝步驟。

    • ./configure是用來偵測你的安裝平台的目標特徵的。例如它會偵測你是不是有CC或GCC,並不是需要CC或GCC,它是個shell腳本。

    • make是用來編譯的,它從Makefile讀取指令,然後編譯。

    • make install是用來安裝的,它也從Makefile讀取指令,安裝到指定的位置。

    關於 configure

    configure,這一步驟一般用來產生 Makefile,為下一步的編譯做準備,你可以透過在 configure 後面加上參數來控制安裝,例如:

    ./configure –prefix=/usr

    上面的意思是將該軟體安裝在/usr 下面,執行檔就會安裝在/usr/bin (而不是預設的/usr/local/bin),資源檔就會安裝在/usr/share(而不是預設的/usr/local/share)。

    同時一些軟體的設定檔你可以透過指定 –sys-config= 參數來設定。有一些軟體還可以加上 –with、–enable、–without、–disable 等等參數對編譯加以控制,你可以透過允許 ./configure –help 察看詳細的說明幫助。

    關於 configure 的一些常見錯誤

    常見的錯誤很多,這裡有一個博客收集了很多,題主可以進去看看,有沒有適合自己的,如果有,那就燒香咯~

    網址:http://freetstar.com/trouble-shooting-configure-make-make-install/

    回覆
    0
  • 取消回覆