apache를 mips보드에 올릴려고 컴파일중...
아파치를 다운받아
먼저 ./configure --prefix=/usr/local/apache하고
make 해서 src/main/ 에 gen_test_char, gen_uri_delims 파일을 만든다음 복사해놓고
make distclean
export CC=mips-linux-gcc
export CPP=mips-linux-gcc
export LD=mips-linux-ld
export STRIP=mips-linux-strip
export OBJCOPY=mips-linux-objcopy
하고
vim configure 파일에 PATH를 mips-nec-sysv4로 바꾼다음
./configure --prefix=/usr/local/apache
binary file에러 나는거 위에 백업해둔 gen_test_char, gen_uri_delims 파일을 복사해주고
make했습니다.
근데
(생략)...
mips-linux-uclibc-gcc -c -I../os/unix -I../include -DLINUX=22 -DHAVE_SET_DUMPABLE -DUSE_HSREGEX -DUSE_EXPAT -I../lib/expat-lite -fpic -DSHARED_CORE `../apaci` http_core.c
mips-linux-uclibc-gcc -c -I../os/unix -I../include -DLINUX=22 -DHAVE_SET_DUMPABLE -DUSE_HSREGEX -DUSE_EXPAT -I../lib/expat-lite -fpic -DSHARED_CORE `../apaci` http_log.c
mips-linux-uclibc-gcc -c -I../os/unix -I../include -DLINUX=22 -DHAVE_SET_DUMPABLE -DUSE_HSREGEX -DUSE_EXPAT -I../lib/expat-lite -fpic -DSHARED_CORE `../apaci` http_main.c
http_main.c: In function `process_child_status':
http_main.c:5323: error: `_sys_siglist' undeclared (first use in this function)
http_main.c:5323: error: (Each undeclared identifier is reported only once
http_main.c:5323: error: for each function it appears in.)
make[3]: *** [http_main.o] 오류 1
make[2]: *** [subdirs] 오류 1
make[2]: Leaving directory `/usr/src/source/apache/apache_1.3.41/src'
make[1]: *** [build-std] 오류 2
make[1]: Leaving directory `/usr/src/source/apache/apache_1.3.41'
make: *** [build] 오류 2
[root@localhost apache_1.3.41]#
이런 오류가 생기네요
다른분 말로는 mips-linux에 라이브러리가 없어서 이걸 직접 작성해주던가 해야한다는데
어떻게 해야되는지... 모르겠네요...
이런 오류는 왜 생기는지 해결방법좀 알려주세요 삼일째 이거 하고있네요 ㅠㅠ
오늘은 끝내고 싶은데..ㅠ 제발~ 초고수님들 부탁드립니다.
저도 MIPS 아키텍쳐에 관심이 많은데요...
MIPS는 스탠포드 대학교의 John L. Hennessy 교수가 개발했죠.
개인적으로 아주 존경하고 있고, 그분이 집필한 컴퓨터 아키텍쳐 책도 보고 있습니다만...
아직 아파치를 mips 보드에 포팅해 보지는 못했지만,
위의 오류메세지를 액면 그대로 해석해 보면,
DSHARED_CORE `../apaci` http_main.c
http_main.c: In function `process_child_status':
http_main.c:5323: error: `_sys_siglist' undeclared (first use in this function)
/usr/src/source/apache/apache_1.3.41/apaci 경로에 있는
http_main.c 소스파일의 5323라인에 있는 함수 'process_child_status'의
`_sys_siglist'가 정의되지 않았음(이함수에서 첫번째로 사용)
`_sys_siglist'는 데이터파입이나 구조체일 수 있구요.
보통은 헤더파일에 정의되어 있을거고, 이 헤더파일이 인클루드 되지 않았거나 없다는 것입니다.
/usr/src/source/apache/apache_1.3.41/
-I../os/unix
-I../include (인클루드경로)
-I../lib/expat-lite (라이브러리경로) 경로 및 환경설정을 점검해 보셔야 될듯합니다.
from:
*알지비 (메신저: rgbi3307@nate.com)
*학창시절 마이크로마우스를 만들었고, 10년동안 IT관련 개발자로 일하고 있음.
*틈틈히 커널연구회(http://www.kernel.kr/) 내용물들을 만들고 있음.
*((공부해서 남을 주려면 남보다 더많이 연구해야함.))
From:
*알지비 (메일: rgbi3307(at)nate.com)
*커널연구회(http://www.kernel.bz/) 내용물들을 만들고 있음.
*((공부해서 남을 주려면 남보다 더많이 연구해야함.))
_sys_siglist는 signal.h에
_sys_siglist는 signal.h에 있는 녀석입니다. = _=);;;
근데 문제는 uclibc에서 이녀석이 기본적으로 disable되어있다는 것이지요...
uclibc를 다시 컴파일 시켜야 합니다.
근데 듣기로는 depricated 됐다던가....
이게 안되면 대신
_sys_siglist [sig]
를
strsignal (sig) // string.h
로 고쳐주면 됩니다.
댓글 달기