웹에서 JPEG이미지 압축과 해제 라이브러리 jpeg설치
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 2,559 조회
- 0 추천
- 목록
본문
웹에서 JPEG이미지 압축과 해제 라이브러리 jpeg설치
JPEG 압축/압축해제 라이브러리 소프트웨어이다.
jpeg이미지파일을 사용하고 처리하기 위하여 필요한 소프트웨어이다.
jpeg홈페이지는 http://www.ijg.org이며 관련 FAQ는 http://www.faqs.org/faqs/jpeg-faq/ 을 이용하면 된다.
자, 그럼 jpeg를 설치해 보도록 하겠다.
먼저, wget을 이용하여 ftp.linux.co.kr에서 jpeg압축소스파일을 가져온다.
[root@RockyLinux local]# wget http://lilypond.org/gub/download/jpegsrc/jpegsrc.v6b.tar.gz --2023-06-28 10:39:16-- http://lilypond.org/gub/download/jpegsrc/jpegsrc.v6b.tar.gz Resolving lilypond.org (lilypond.org)... 35.206.114.173 Connecting to lilypond.org (lilypond.org)|35.206.114.173|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 613261 (599K) [application/x-gzip] Saving to: `jpegsrc.v6b.tar.gz'
jpegsrc.v6b.tar.gz 100%[=================================================>] 598.89K 589KB/s in 1.0s
2023-06-28 10:39:18 (589 KB/s) - `jpegsrc.v6b.tar.gz' saved [613261/613261]
[root@RockyLinux local]# |
그리고 가져온 압축소스파일을 ls로 다음과 같이 확인하였다.
[root@RockyLinux local]# ls -l jpegsrc.v6b.tar.gz -rw-r--r-- 1 root root 613261 7월 25 2010 jpegsrc.v6b.tar.gz [root@RockyLinux local]# |
압축되어있는 jpeg소스파일을 tar로 압축해제한다.
“jpeg-버전”이름으로 된 디렉토리가 생성되고 이 디렉토리에는 jpeg관련파일들이 모두 복사된다.
[root@RockyLinux local]# tar xvfz jpegsrc.v6b.tar.gz jpeg-6b/ jpeg-6b/README jpeg-6b/install.doc jpeg-6b/usage.doc jpeg-6b/cjpeg.1 jpeg-6b/djpeg.1 jpeg-6b/jpegtran.1 jpeg-6b/rdjpgcom.1 jpeg-6b/wrjpgcom.1 jpeg-6b/wizard.doc jpeg-6b/example.c jpeg-6b/libjpeg.doc jpeg-6b/structure.doc jpeg-6b/coderules.doc jpeg-6b/filelist.doc jpeg-6b/change.log jpeg-6b/configure jpeg-6b/makefile.cfg jpeg-6b/makefile.ansi jpeg-6b/makefile.unix jpeg-6b/makefile.bcc jpeg-6b/makefile.mc6 jpeg-6b/makefile.dj jpeg-6b/makefile.wat jpeg-6b/makefile.vc jpeg-6b/makelib.ds jpeg-6b/makeapps.ds jpeg-6b/makeproj.mac 이하생략.. |
그런 다음 이 디렉토리로 이동한다.
[root@RockyLinux local]# cd jpeg-6b/ [root@RockyLinux jpeg-6b]# |
이제 컴파일하기 위해 configure를 실행한다.
아래 configure 옵션으로 사용한 “--enable-shared”는 GNU libtool을 이용한 공유라이브러리를 생성하기 위한 옵션이며 “--enable-static”은 GNU libtool을 이용한 static라이브러리를 생성하기 위한 옵션이다.
[root@RockyLinux jpeg-6b]# ./configure --enable-shared --enable-static checking for gcc... gcc checking whether the C compiler (gcc ) works... yes checking whether the C compiler (gcc ) is a cross-compiler... no checking whether we are using GNU C... yes checking how to run the C preprocessor... gcc -E checking for function prototypes... yes checking for stddef.h... yes checking for stdlib.h... yes checking for string.h... yes checking for size_t... yes checking for type unsigned char... yes checking for type unsigned short... yes checking for type void... yes checking for working const... yes checking for inline... __inline__ checking for broken incomplete types... ok checking for short external names... ok checking to see if char is signed... yes checking to see if right shift is signed... yes checking to see if fopen accepts b spec... yes checking for a BSD compatible install... /usr/bin/install -c checking for ranlib... ranlib checking host system type... Invalid configuration `x86_64-unknown-linux-gnu': machine `x86_64-unknown' not recognized
checking libjpeg version number... 62 creating ./config.status creating Makefile creating jconfig.h [root@RockyLinux jpeg-6b]# |
이제 make를 실행하여 컴파일을 수행한다.
이 결과로 여러가지 목적파일과 결과파일들이 생성된다.
[root@sulinux jpeg-6b]#make ./libtool --mode=compile gcc -O2 -I. -c ./cjpeg.c gcc -O2 -I. -c -fPIC -DPIC ./cjpeg.c mv -f cjpeg.o cjpeg.lo gcc -O2 -I. -c ./cjpeg.c >/dev/null 2>&1 ./libtool --mode=compile gcc -O2 -I. -c ./rdppm.c gcc -O2 -I. -c -fPIC -DPIC ./rdppm.c mv -f rdppm.o rdppm.lo gcc -O2 -I. -c ./rdppm.c >/dev/null 2>&1 ./libtool --mode=compile gcc -O2 -I. -c ./rdgif.c gcc -O2 -I. -c -fPIC -DPIC ./rdgif.c mv -f rdgif.o rdgif.lo gcc -O2 -I. -c ./rdgif.c >/dev/null 2>&1 ./libtool --mode=compile gcc -O2 -I. -c ./rdtarga.c … 이하생략 |
그리고 생성된 결과파일들을 설치하기위하여 “make install”을 실행한다.
실행결과를 보면 에러(error)가 발생하였음을 알 수 있다.
이는 jpeg관련 맨페이지파일을 /usr/local/man/man1이라는 디렉토리에 복사를 하는데 이 디렉토리가 존재하지 않기 때문에 발생한 에러이다.
[root@sulinux jpeg-6b]#make install /usr/bin/install -c -m 644 jconfig.h /usr/local/include/jconfig.h /usr/bin/install -c -m 644 ./jpeglib.h /usr/local/include/jpeglib.h /usr/bin/install -c -m 644 ./jmorecfg.h /usr/local/include/jmorecfg.h /usr/bin/install -c -m 644 ./jerror.h /usr/local/include/jerror.h ./libtool --mode=install /usr/bin/install -c libjpeg.la /usr/local/lib/libjpeg.la /usr/bin/install -c .libs/libjpeg.so.62.0.0 /usr/local/lib/libjpeg.so.62.0.0 rm -f /usr/local/lib/libjpeg.so.62 /usr/local/lib/libjpeg.so (cd /usr/local/lib && ln -s libjpeg.so.62.0.0 libjpeg.so.62) (cd /usr/local/lib && ln -s libjpeg.so.62.0.0 libjpeg.so) /usr/bin/install -c libjpeg.la /usr/local/lib/libjpeg.la /usr/bin/install -c .libs/libjpeg.a /usr/local/lib/libjpeg.a … 중략 ./libtool --mode=install /usr/bin/install -c cjpeg /usr/local/bin/cjpeg /usr/bin/install -c .libs/cjpeg /usr/local/bin/cjpeg ./libtool --mode=install /usr/bin/install -c djpeg /usr/local/bin/djpeg /usr/bin/install -c .libs/djpeg /usr/local/bin/djpeg ./libtool --mode=install /usr/bin/install -c jpegtran /usr/local/bin/jpegtran /usr/bin/install -c .libs/jpegtran /usr/local/bin/jpegtran ./libtool --mode=install /usr/bin/install -c rdjpgcom /usr/local/bin/rdjpgcom /usr/bin/install -c rdjpgcom /usr/local/bin/rdjpgcom ./libtool --mode=install /usr/bin/install -c wrjpgcom /usr/local/bin/wrjpgcom /usr/bin/install -c wrjpgcom /usr/local/bin/wrjpgcom /usr/bin/install -c -m 644 ./cjpeg.1 /usr/local/man/man1/cjpeg.1 /usr/bin/install: cannot create regular file `/usr/local/man/man1/cjpeg.1': 그런 파일이나 디렉토리가 없음 make: *** [install] 오류 1 [root@sulinux jpeg-6b]# |
이 에러는 아래와 같이 mkdir을 이용하여 /usr/local/man/man1디렉토리를 생성해 줌으로써 간단히 해결 할 수 있다.
그런 다음 다시 “make install”을 실행한 것이다.
[root@sulinux jpeg-6b]#mkdir /usr/local/man/man1 [root@sulinux jpeg-6b]# [root@sulinux jpeg-6b]#make install /usr/bin/install -c -m 644 jconfig.h /usr/local/include/jconfig.h /usr/bin/install -c -m 644 ./jpeglib.h /usr/local/include/jpeglib.h /usr/bin/install -c -m 644 ./jmorecfg.h /usr/local/include/jmorecfg.h /usr/bin/install -c -m 644 ./jerror.h /usr/local/include/jerror.h ./libtool --mode=install /usr/bin/install -c libjpeg.la /usr/local/lib/libjpeg.la /usr/bin/install -c .libs/libjpeg.so.62.0.0 /usr/local/lib/libjpeg.so.62.0.0 rm -f /usr/local/lib/libjpeg.so.62 /usr/local/lib/libjpeg.so (cd /usr/local/lib && ln -s libjpeg.so.62.0.0 libjpeg.so.62) (cd /usr/local/lib && ln -s libjpeg.so.62.0.0 libjpeg.so) /usr/bin/install -c libjpeg.la /usr/local/lib/libjpeg.la … 중략 /usr/bin/install -c -m 644 ./cjpeg.1 /usr/local/man/man1/cjpeg.1 /usr/bin/install -c -m 644 ./djpeg.1 /usr/local/man/man1/djpeg.1 /usr/bin/install -c -m 644 ./jpegtran.1 /usr/local/man/man1/jpegtran.1 /usr/bin/install -c -m 644 ./rdjpgcom.1 /usr/local/man/man1/rdjpgcom.1 /usr/bin/install -c -m 644 ./wrjpgcom.1 /usr/local/man/man1/wrjpgcom.1 [root@sulinux jpeg-6b]# |
이상으로 jpeg설치에 대해서 알아보았다.
관련자료
-
이전
-
다음