ubuntu 에서 pmake 를 사용하던 도중, 아래의 오류가 나타났다.
library 를 컴파일하는 과정이었는데, 필요한 library는 모두 만들어 놓고, 아래의 오류를 나타내고 죽어버렸다.
building shared object ipvutil library
ranlib libipvutil_pic.a
lint -chapbxzF -i strlcat.c
pmake: exec(lint) failed (No such file or directory)
lint 프로그램을 찾을 수 없다는 메시지였는데.. lint 가 무슨 프로그램인지 알 수 없었다. 결국 구글링..
http://en.wikipedia.org/wiki/Lint_%28software%29
즉, lint 는 일종의 cppcheck 와 같은 코드 검사기 같은 것이다.
하지만 lint는 bsd-unix 와 같은 unix 계열의 os 에서 주로 사용되는 검사기였다. 즉, ubuntu에는 기본이 아니라는 이야기..
lint 와 같은 역할을 하는 것으로 linux 에서는 splint 가 있어서 설치 한 뒤, ln 명령어로 lint 명령을 사용할 수 있도록 구성했으나, splint 및 lint 의 정확한 사용법을 모르는 상태에서 기본적으로 사용되는 옵션등이 맞지 않아 계속 오류를 나타냈다.
결국 lint 검사를 사용하지 않도록 하고 mk 파일 내용을 수정하는 것으로 해결을 했다.
/usr/share/mk 디렉토리에 있는 bsd.own.mk 파일을 다음과 같이 수정하도록 하자. 굵은 글씨로 나타낸 부분이 lint 사용을 막기 위해 추가한 부분이다.
# $NetBSD: bsd.own.mk,v 1.120 1999/02/24 14:42:36 drochner Exp $
.if !defined(_BSD_OWN_MK_)
_BSD_OWN_MK_=1
.if defined(MAKECONF) && exists(${MAKECONF})
.include “${MAKECONF}”
.elif exists(/etc/mk.conf)
.include “/etc/mk.conf”
.endif
NOLINT=