강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

웹에서 JPEG이미지 압축과 해제 라이브러리 jpeg설치

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

웹에서 JPEG이미지 압축과 해제 라이브러리 jpeg설치

 

 

 

 

 

JPEG 압축/압축해제 라이브러리 소프트웨어이다.

 

 

 

 jpeg이미지파일을 사용하고 처리하기 위하여 필요한 소프트웨어이다.

 

 

 

 jpeg홈페이지는 http://www.ijg.org이며 관련 FAQhttp://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설치에 대해서 알아보았다.

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,035 명
  • 현재 강좌수 :  35,798 개
  • 현재 접속자 :  120 명