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=

Tags: , ,

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.