stdio.h 에 getline() 이라는 함수가 있어서

apache 소스 에 있는 getline() 함수가 있는 파일이 정상적으로 컴파일 되지 않은 경우가 있다.

대충 에러메시지는 이랬다.

logresolve.c:74:12: error: conflicting types for 'getline'
/usr/include/stdio.h:673:18: note: previous declaration of 'getline' was here


아래 파일들을 약간 수정해서 해결.

src/support/htpasswd.c
src/support/htdigest.c
src/support/logresolve.c


getline() 함수 정의랑 호출하는 부분들을 찾아서 

get_line() 이라고 이름을 바꿔주니 컴파일을 성공할 수 있었다.


apache 1.x 는 이제 deprecated 된 프로젝트라서 그런가. 

최근의 리눅스랑 잘 호환이 안되네.


rewrite module 설치할 때 gdbm 대신 gdbm_compat 을 연결해줘야 gdm_open 함수가 맞게 된다.

apxs -cia -lgdbm_compat modrewrite소스

'opensource' 카테고리의 다른 글

httpd 2.4.1 compile  (0) 2012.02.28
svn - Unrecognized URL scheme  (0) 2012.02.07
pkg-config  (0) 2012.01.03
mcrypt libmcrypt  (0) 2011.02.21
hadoop  (0) 2010.06.28
Latest update: 2012. 2. 19. 19:53