2014-11-27 configure 파일 미존재시 automake로 configure 파일 생성 방법 추가
라이브러리 제거 방법 추가
1. CUnit 이란?
c로 작성된 소스에 대해서 unit 테스트를 지원해주는 라이브러리이다.
아래 경로는 CUnit 홈페이지다.
http://cunit.sourceforge.net/
2. CUnit 소스 설치
2-1. 준비
OS : Ubuntu 12.04.3 LTS 64bit
CUnit 소스 : 아래 경로에서 CUnit 소스 코드를 다운로드 받을 수 있다.
2013-11-14 기준으로 최신 버전인 CUnit-2.1-2-src.tar.bz2를 다운로드 했다.
http://sourceforge.net/projects/cunit/
** 2014-11-27 기준으로 최신 버전인 CUnit-2.1-3.tar.bz2 까지 설치 됨을 확인 했다.
2-2. 압축 해제
# tar -nxvf CUnit-2.1-2-src.tar.bz2
2-3. configure 파일 존재 여부 확인
# cd CUnit-2.1-2
# ls -l configure
>> 다음 에러 발생시 configure 파일이 미존재. 2-4를 진행한다. <<
ls: configure에 접근할 수 없습니다: 그런 파일이나 디렉터리가 없습니다
>> 다음과 같이 출력되면 configure 파일이 존재. 2-5를 진행한다. <<
-rwxrwxr-x 1 core core 429635 11월 27 00:03 configure
2-4. configure 파일이 없는 경우. automake 로 configure 파일을 생성
# cd CUnit-2.1-2
# aclocal
# autoconf
# autoreconf --install (2-8 에러 발생시 사용)
# automake (2-7 에러 발생 시 automake --add-missing를 사용)
# chmod u+x configure (실행 권한이 없는 경우 사용한다)
2-5. 빌드 및 설치
# cd CUnit-2.1-2
# ./configure
# make
# sudo make install
2-6. 만약 2-4 진행 중 다음과 같은 에러가 발생한 경우. libtool를 설치 한다.
에러> possibly undefined macro: AC_PROG_LIBTOOL
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
해결> 아래 명령 실행 후 2-4 다시 수행
# sudo apt-get install libtool
2-7. 만약 2-4 진행 중 다음과 같은 에러가 발생한 경우.
에러> required file `./install-sh' not found
`automake --add-missing' can install `./install-sh`
해결> 2-4에서 "automake" 대신 "automake --add-missing"를 사용한다.
# automake --add-missing
2-8. 만약, automake 시 `config.h.in' not found 에러가 발생하는 경우.
에러> required file `config.h.in' not found
해결> automake 전에 autoreconf를 사용한다.
# autoreconf --install
# automake (2-7 에러 발생 시 automake --add-missing를 사용)
3. 설치 확인
3.1 라이브러리 확인
# ls -l /usr/local/lib/libcunit*
-rw-r--r-- 1 root root 117126 11월 15 11:18 /usr/local/lib/libcunit.a
-rwxr-xr-x 1 root root 1003 11월 15 11:18 /usr/local/lib/libcunit.la
lrwxrwxrwx 1 root root 17 11월 15 11:18 /usr/local/lib/libcunit.so -> libcunit.so.1.0.1
lrwxrwxrwx 1 root root 17 11월 15 11:18 /usr/local/lib/libcunit.so.1 -> libcunit.so.1.0.1
-rwxr-xr-x 1 root root 78529 11월 15 11:18 /usr/local/lib/libcunit.so.1.0.1
3-2. CUnit 홈페이지에 있는 예제 소스를 이용하여 테스트를 한다.
아래 경로에서 소스를 복사 붙이기 하여 example.c 파일을 만든다.
http://cunit.sourceforge.net/example.html
3-3. example.c를 빌드를 한다.
# gcc -o test example.c -lcunit
3-4. 빌드한 파일을 실행한다.
# ./test
결과 ***************************************
CUnit - A unit testing framework for C - Version 2.1-2
http://cunit.sourceforge.net/
Suite: Suite_1
Test: test of fprintf() ...passed
Test: test of fread() ...passed
Run Summary: Type Total Ran Passed Failed Inactive
suites 1 1 n/a 0 0
tests 2 2 2 0 0
asserts 5 5 5 0 n/a
Elapsed time = 0.000 seconds
********************************************
3-5. 만약 아래와 같은 오류 발생시 ldconfig 명령을 사용하여 동적 라이브러리를 등록한다.
에러> ./test: error while loading shared libraries: libcunit.so.1: cannot open shared object file: No such file or directory
해결> 아래 명령어 실행 후 3-3, 3-4 다시 수행
# sudo ldconfig
4. 라이브러리 제거
1~3 과정으로 설치된 라이브러리를 제거한다.
# cd CUnit-2.1-2
# sudo make uninstall
댓글 없음:
댓글 쓰기