libpng 1.6.14 のコンパイルが失敗する

libpng 1.6.14 のコンパイルが失敗する

私は Ubuntu/Linux ベースのシステムを初めて使用します。バイナリの 1 つを分析するには、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

問題は、提供されているのが./libtoolbashスクリプトだからであるようです。

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

ただし、makeデフォルトでは で実行されます/bin/sh。Ubuntu では、dashデフォルトでシェルにシンボリックリンクされています。

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

dashPOSIX以外の文字列連結はサポートされていません+=

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

これは確かにあなたが提供したリンクで議論されているのと同じ問題です。特にこの答え

これに対処する方法はたくさんありますが、私見では、configure スクリプトに Makefile のデフォルトSHELL変数を上書きするように指示するのが最もクリーンです。

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

(クリーン インストールからやり直すことをお勧めします。つまり、libpng-1.6.14 ディレクトリを削除して、アーカイブを再度解凍します。)

関連情報