Компиляция 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связан с оболочкой: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 и снова распаковать архив.)

Связанный контент