編譯 libpng 1.6.14 失敗

編譯 libpng 1.6.14 失敗

我是基於 Ubuntu/Linux 的系統的新手。我需要編譯 libpng 1.6.14 來分析它的二進位之一。我在跑步:

tar -xvf libpng-1.6.14.tar.xz
cd libpng-1.6.14
sudo bash configure --prefix=/usr/local/libpng   //is running fine without errors
sudo make install

這就是我得到的:

錯誤2,很多東西沒找到

我發現了類似的問題在 Stack Overflow 上

我嘗試操作“libtool”檔案但沒有成功。有什麼建議麼?

答案1

好的,問題似乎確實是因為提供的./libtool是 bash 腳本,

$ file ./libtool
./libtool: Bourne-Again shell script, ASCII text executable

make預設使用 執行它,在 Ubuntu 中預設符號/bin/sh連結到shell:dash

$ ls -l /bin/sh
lrwxrwxrwx 1 root root 4 Apr  4 10:27 /bin/sh -> dash

並且dash不支援非 POSIX 字串連接+=

$ dash -c 'foo+=bar'
dash: 1: foo+=bar: not found

這確實與您提供的連結中討論的問題相同,特別是這個答案

有很多方法可以解決這個問題 - 恕我直言,最乾淨的方法是告訴配置腳本覆蓋 Makefile 的預設SHELL變數:

./configure SHELL=/bin/bash --prefix=/usr/local/libpng
make
sudo make install

(我建議您重新開始全新安裝,即刪除 libpng-1.6.14 目錄並再次解壓縮存檔。)

相關內容