Das Kompilieren von libpng 1.6.14 schlägt fehl

Das Kompilieren von libpng 1.6.14 schlägt fehl

Ich bin neu bei Ubuntu/Linux-basierten Systemen. Ich muss libpng 1.6.14 kompilieren, um eine seiner Binärdateien zu analysieren. Ich verwende:

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

Das ist, was ich bekomme:

Fehler 2, viele Dinge nicht gefunden

Ich habe ein ähnliches Problem gefundenhier auf Stack Overflow

Ich habe versucht, die Datei „libtool“ zu bearbeiten, aber ohne Erfolg. Irgendwelche Vorschläge?

Antwort1

OK, das Problem scheint also darin zu liegen, dass es sich bei dem bereitgestellten Skript ./libtoolum ein Bash-Skript handelt.

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

aber makestandardmäßig wird es mit ausgeführt /bin/sh, das in Ubuntu dashstandardmäßig mit der Shell verknüpft ist:

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

und dashunterstützt nicht die Nicht-POSIX-Zeichenfolgenverkettung +=:

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

Dies ist tatsächlich das gleiche Problem, das in dem von Ihnen angegebenen Link diskutiert wird, insbesonderediese Antwort

Es gibt mehrere Möglichkeiten, dies zu lösen. Die sauberste besteht meiner Meinung nach darin, dem Konfigurationsskript mitzuteilen, dass es die Standardvariable des Makefiles überschreiben soll SHELL:

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

(Ich schlage vor, Sie beginnen mit einer Neuinstallation, d. h. löschen das Verzeichnis libpng-1.6.14 und entpacken das Archiv erneut.)

verwandte Informationen