libpng-1.6.37 – 1

libpng-1.6.37 소스를 가져와 autotrace-0.31.1에 쓰기 위해 소스는 아래에 있는 URL에서 최신 버전으로 내려받아 pnglibconf.h 파일을 만드느라 고생한 첫 번째 이야기다.https://libpng.sourceforge.io/index.html

LIB PNG UP DATE 2019-Apr-14: 최신 버전은 libpng-1.6.37 [DOWNLOAD from Source Forge] 레거시 애플리케이션의 경우 libpng-1.5.30 libpng-1.4.22 libpng-1.2.59 libpng-1.0.69도 사용 가능하며 보안상의 이유로 필요한 경우에만 업데이트 됩니다. UP DATE 2017-9월 28일 : 최신 개발 ver…libpng.출처 위조

libpng-1.6.37을 빌드할 때 pnglibconf.h 파일이 필요한데 /scripts 폴더에 들어있는 pnglibconf.mamakefile로 사용해야 한다. 작성이 불가능한 경우 ./scripts 폴더에 들어있는 pnglibconf.h.prebuilt 파일을 복사하여 .prebuilt를 없애고 .h파일로 사용하면 된다. Cygwin을 사용하고 있으며 pnglibconf.h를 make로 만들기 위해 명령을 내렸더니 오류가 발생한다. awk 버전도 최신 버전에서 예전 버전으로 바꾸면서 테스트했는데 계속 오류가 발생해 시그윈을 새로 설치해봤지만 pnglibconf.h 파일을 만들지 못했다.

makefile.msys도 있어 msys2를 설치하여 pnglibconf.h를 만드는 것을 시도해 보았다.

기본적으로 make가 설치되어 있지 않아 오류가 발생하며,

package manager에서 설치할 make 패키지를 “pacman-Ss make” 명령어로 검색:

많은 결과 중 make package를 찾아서

“pacman-Smsys/make” 명령어로 설치하고:

make를 실행하여 pnglibconf.h 파일을 만들려고 하는데 C 컴파일러가 없으면 에러가 발생하고

gcc 패키지도 찾아서 mingw32/mingw-w64-i686-gcc 패키지로 설치하고,

드디어 pnglibconf.h 파일이 성공적으로 생성되었다.

생성된 pnglibconf.h 파일을 연 사진:MSYS2는 msys2 다운로드 사이트에서 내려받아 설치하면 된다.Windowswww.msys2.org용 MSYS2 소프트웨어 배포 및 빌드 플랫폼gcc컴파일러를 msys/gcc로 바꾼 결과 zlib.h를 찾기 어렵다는 오류가 발생하여, pnglibconf.mak이 중단되면서 zlib개발자 라이브러리를 pacman-S msys/zlib-devel패키지 매니저 명령으로 설치하고 해결했다.Ubuntu도 Cygwin 같은 에러가 발생한다. awk, gawk, nawk등 다양하게 시도했지만 역시 안 된다. 그래도 MSYS2에서 성공적으로 pnglibconf.h파일을 만들 수 있고 이것으로 수고에 대한 위로해야 한다.참고로 MSYS2가 Cygwin을 바탕으로 만들어졌다고 하지만 패키지 관리자(package manager)가 셸로 사용할 수 있도록 제공되며 보다 편리한 것 같다. -h에서 사용법에 대한 도움말을 얻을 수 있고 옵션에 대한 세부 도움말도 pacman-S-h처럼 명령을 사용하여 얻을 수 있다.$ pacman –help 사용법 : pacman <동작> […] 동작 : pacman{-h-help}pacman{-V-version}pacman{-D-database} <옵션> <패키지> pacman{-F-Files} [옵션] [파일] pacman{-Q-query} [옵션] <패키지> [옵션] [deptemove] 표시하려면 , <hcman{-sync} [옵션>$ pacman –help 사용법 : pacman <동작> […] 동작 : pacman{-h-help}pacman{-V-version}pacman{-D-database} <옵션> <패키지> pacman{-F-Files} [옵션] [파일] pacman{-Q-query} [옵션] <패키지> [옵션] [deptemove] 표시하려면 , <hcman{-sync} [옵션>$ pacman –help 사용법 : pacman <동작> […] 동작 : pacman{-h-help}pacman{-V-version}pacman{-D-database} <옵션> <패키지> pacman{-F-Files} [옵션] [파일] pacman{-Q-query} [옵션] <패키지> [옵션] [deptemove] 표시하려면 , <hcman{-sync} [옵션>시그윈에서는 setup 프로그램으로 패키지를 설치하고 관리해왔는데 이번 기회에 한번 찾아보자.

error: Content is protected !!