본문 바로가기
  • fishing...
  • eating...
MISCELLANEOUSNESS

libjpeg 설치시 오류 해결 방법

by 회색뿔 2008. 2. 10.


cannot create regular file `/usr/local/man/man1/cjpeg.1': 그런 파일이나 디렉토리가 없음 

단 오류의 발생 원인은 파일 설치(make install) 중에 /usr/local/man/man1 이라는 디렉터리가 없어서 cjpeg.1 및 이후의 파일들을 복사하지 못하는 것입니다. 가능한 몇 가지 해결 방법을 적어보겠습니다. 취향 따라 고르시면 됩니다:) 추천 순서는 0, 2, 1, 3입니다.

0. 패키지 설치
꼭 소스로 설치하셔야 하는 게 아니라면 사용하고 계신 패포판에서 사용하는 패키지 형식(rpm, dpkg, ...)으로 된 libjpeg 패키지를 찾아서 설치해 주시는 게 쉽기도 하고 설치 도중 문제를 만날 가능성도 적습니다.

* 여전히 소스 설치를 하기로 선택하셨다고 할 때... 어떤 목적으로 libjpeg를 설치하시려는지는 잘 모르겠지만 "... && make install"까지만 해주시면 패키지 내의 유틸리티 프로그램(cjpeg, djpeg, jpegtran, rdjpgcom, wrjpgcom)만 설치됩니다. 라이브러리 및 헤더 파일까지 설치하시려면 다음 명령도 추가로 내려주셔야 합니다.

# make install-lib
# make install-headers

1. man 디렉터리 만들어 주기
man 아래의 man1, man2, ... 디렉터리는 manpage를 저장하는 페이지입니다. "man chmod" 같은 명령을 입력하면 나오는 도움말 문서들이 여기에 저장되어 있습니다. 보통 /usr/man 디렉터리와 /usr/share/man 디렉터리는 있는데 /usr/local/man 디렉터리는 사용하고 계시는 배포판에 따라 없을 수도 있습니다. 다음과 같이 /usr/local/man 및 하부 디렉터리들을 만들어 주실 수 있습니다.

# mkdir -p /usr/local/man/man{1,2,3,4,5,6,7,8}

혹은 다음 명령으로 /usr/local/man 디렉터리를 이미 존재하는 /usr/man 디렉터리로 '연결'시켜 주실 수도 있습니다.
# ln -s /usr/man /usr/local

"ls -l /usr/local/man" 해보시면 link 파일이 만들어진 걸 확인하실 수 있습니다.
디렉터리를 만들거나 연결해 주신 다음에 "make install"을 다시 실행해 주시면 됩니다.

2. 설치 경로 바꿔주기
manpage 저장 경로는 configure를 실행할 때 지정이 가능합니다. libjpeg(및 대부분의 패키지)는 "/usr/local/"을 기본 경로로 잡아서 여기에 "bin"을 붙인 디렉터리(/usr/local/bin)에는 실행 파일들을, "man"을 붙인 디렉터리(/usr/local/man)에는 manpage 파일들을 저장합니다. 하지만 configure 실행시 다음과 같이 옵션을 주면 manpage 저장 경로를 다른 디렉터리로 바꿔 주실 수 있습니다.

# ./configure --mandir=/usr/man

혹은 아예 다음 명령으로 모든 파일들을 "/usr/local/" 아래가 아니라 "/usr/" 아래에 설치하시는 것도 괜찮은 방법입니다.
# ./configure --prefix=/usr

그리고서 "make && make install" 해주시면 됩니다. "configure --help"로 실행하면 스크립트 실행시 지정해 줄 수 있는 각종 옵션들이 표시됩니다.

3. 설치 프로그램 실행 옵션 변경
(추천할 만한 방법은 아닙니다만;; )
오류를 만나기 전에 보면 /usr/bin/install 이라는 프로그램이 실행되고 있는 걸 보실 수 있습니다. 대략 파일 복사와 권한 조정 등 파일 설치와 관련된 여러 일들을 해주는 프로그램입니다. 그리고 이 프로그램을 실행할 때 "-D" 옵션을 주면 필요한 디렉터리를 알아서 만든 후 파일을 복사해 줍니다. "-D" 옵션을 주려면 Makefile을 살짝 건드려 주면 됩니다. 평소 사용하는 편집기로 Makefile을 열고서 "install"로 검색을 해보면 66행 근방에서 다음과 같은 내용을 보실 수 있습니다.

# installation program
INSTALL= /usr/bin/install -c
INSTALL_PROGRAM= ${INSTALL}
INSTALL_LIB= ${INSTALL} -m 644
INSTALL_DATA= ${INSTALL} -m 644

이 중 "INSTALL_DATA"가 manpage 설치시 쓰이는 명령입니다. 끝에 "-D" 옵션을 추가해 주시면 됩니다.
...
INSTALL_DATA= ${INSTALL} -m 644 -D

저장한 후 "make install"을 다시 실행해 주시면 됩니다.


'MISCELLANEOUSNESS' 카테고리의 다른 글

GTK+ 설치 순서...  (1) 2008.02.10
[펌] 리눅스 원격접속 방법  (0) 2008.02.04
암호화알고리즘 - 블록암호(block cipher)  (0) 2008.02.01