노무현 대통령 배너


2006. 6. 20. 15:31

bash 크로스 컴파일 주의점

bash 크로스 컴파일 주의점
글쓴이 : 송지석 (2003년 04월 03일 오후 09:46) 읽은수: 3,331 [ 팁(tip) 인쇄용 페이지 ]
여러 분들이 겪으셨을 것 같은데 여기서는 언급된 글을 본적이 없군요.

bash를 크로스컴파일 할 때 configure에러가 나서 안되는 경우를 분명 겪으셨을 겁니다. (저만 그런가요? --)

http://www.ailis.de/k/knowledge/crosscompiling/bash.php 에서 방법을 퍼왔는데 여기 주소가 없어졌군요.

bash-2.05a의 경우

Makefile에 버그가 있습니다.

bashversion$(EXEEXT): patchlevel.h conftypes.h version.h version.o $(SUPPORT_SRC)bashversion.c $(CC_FOR_BUILD) $(CCFLAGS_FOR_BUILD) $(CPPFLAGS) -o $@ $(SUPPORT_SRC)bashversion.c version.o

이 부분에서 version.o 대신 version.c로 해야 하는군요.

bashversion$(EXEEXT): patchlevel.h conftypes.h version.h version.c $(SUPPORT_SRC)bashversion.c $(CC_FOR_BUILD) $(CCFLAGS_FOR_BUILD) $(CPPFLAGS) -o $@ $(SUPPORT_SRC)bashversion.c version.c

이렇게 고쳐줍니다.

그리고 한가지 configure 해주는데 옵션이 몇개 더 붙어야 합니다.

ac_cv_sys_restartable_syscalls=yes ac_cv_func_setvbuf_reversed=yes ./configure --build=i686-linux --host=arm-linux --enable-readline --prefix=/

autoconf에 못잡아내는 것이 있어서 그렇습니다.

bash-2.05b의 경우

이 버전은 Makefile의 버그가 고쳐졌습니다. 대신에 configure시에 못잡는 것이 더 있어서 옵션을 더 주어야 합니다.

ac_cv_sys_restartable_syscalls=yes ac_cv_func_setvbuf_reversed=yes bash_cv_have_mbstate_t=yes ./configure --build=i686-linux --host=arm-linux --enable-readline --prefix=/

bash 크로스 컴파일 주의점 | 답장: 8개(RSS) | 본문에 답장
정렬 :
답장 박재호 (2003년 04월 04일 오전 09:57)
제가 집필한 "IT EXPERT, 임베디드 리눅스" 584페이지에 ARM용으로 배시 셸을 컴파일하는 방법이 나와있습니다. 물론 방법은 위에 적은 내용과 동일합니다.
그런데 MPC용으로 컴파일하는 방법은 606페이지에 나오는데 교차 컴파일러에 따라 CFLAGS에 "-mcpu=860 -msoft-float"와 같은 적절한 CFLAGS 변수를 넘겨야할 필요가 있습니다.

혹시 MPC을 위한 배시셸을 교차컴파일하려는 개발자분이 계실지도 몰라서 댓글을 달아봤습니다.

"IT EXPERT, 임베디드 리눅스" 저자 박재호 올림
[ 이글에 답장 | 본문에 답장