Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

解決 Linux 64 位元編譯 JPEG 庫報錯:libtool 找不到

編輯:Linux 系統常見問題解答

錯誤現象

編譯 jpeg-6b 時出現:

make: ./libtool: Command not found

根本原因

jpeg-6b 內建的 config.sub、config.guess 與系統 libtool 版本不符,導致 ./configure 產生的 Makefile 找不到 libtool 腳本。

解決步驟

  1. 確認並安裝 libtool
    rpm -qa | grep libtool
    若無,安裝:
    yum install libtool libtool-ltdl-devel
    或原始碼安裝:
    wget https://ftp.gnu.org/gnu/libtool/libtool-2.4.6.tar.gz
    tar xzf libtool-2.4.6.tar.gz && cd libtool-2.4.6
    ./configure && make && make install
  2. 覆蓋 jpeg-6b 的設定檔
    進入 jpeg-6b 目錄:
    cp /usr/share/libtool/config/config.sub .
    cp /usr/share/libtool/config/config.guess .

    注意:路徑為 /usr/share/libtool/config/,非 /usr/share/libtool/。
  3. 重新配置並編譯
    make clean
    ./configure
    make
    make install
  4. 權限問題
    若 make install 報權限錯誤,先手動建立目標目錄再重試。

原理說明

libtool 是 GNU 建構系統的核心元件,負責跨平台建立共享庫。config.sub/config.guess 用於識別編譯平台。舊版專案自帶的檔案過舊,無法辨識新架構(如 x86_64),導致 configure 產生錯誤的 libtool 路徑。以系統最新檔案覆蓋即可修正。

通用原則

遇到 autotools 類專案編譯失敗,優先嘗試:

autoreconf -fiv
# 或
./bootstrap  # 若專案提供

可自動更新所有設定檔。

Copyright © Windows教程網 All Rights Reserved