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, 많은 것을 찾을 수 없습니다

비슷한 문제를 발견했습니다여기 스택 오버플로에서

"libtool" 파일을 조작하려고 시도했지만 성공하지 못했습니다. 어떤 제안이 있으십니까?

답변1

./libtool좋아요, 제공된 것이 bash 스크립트이기 때문에 문제가 있는 것 같습니다 .

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

하지만 make기본적으로 를 사용하여 실행합니다 /bin/sh. 우분투에서는 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

이것은 실제로 귀하가 제공한 링크에서 논의한 것과 동일한 문제입니다. 특히이 답변

이 문제를 해결하는 방법은 여러 가지가 있습니다. IMHO 가장 깔끔한 방법은 구성 스크립트에 Makefile의 기본 SHELL변수를 재정의하도록 지시하는 것입니다.

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

(새로 설치하여 다시 시작하는 것이 좋습니다. 즉, libpng-1.6.14 디렉토리를 삭제하고 아카이브의 압축을 다시 푸는 것입니다.)

관련 정보