[질문]msys 사용하여 mingw 에서 arm-elf 크로스 컴파일 도중 에러가 나에요..
msys에서 MinGW 사용하여 GCC를 arm용으로 컴파일 하려는 개발자입니다.
우선 cygwin DLL과 독립적인 cross compiler를 만들기 위해
MinGW를 사용하게 되었습니다.
binutil install은 성공하였으나..
gcc src에서 make all 에러가 나더군요.. ㅠ ㅠ
fork kill pipe 는 msys에서 지원해주는 것 아닌가요???
좀 당황스럽네요 linux api환경을 사용하기 위해 msys를 사용하였는데..
혹시 경험있는 분들의 조언부탁드립니다.
-- 개발환경 -
windows XP
binutils-2.17
gcc-3.2.2
MinGW-5.0.3.exe
MSYS-1.0.11-2004.04.30-1.exe
msysDTK-1.0.1.exe
----------------------- log file------------
..
make[1]: Entering directory `/home/tobezidane/usr/local/src/gcc_build/libiberty'
make[2]: Entering directory `/home/tobezidane/usr/local/src/gcc_build/libiberty/testsuite'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/tobezidane/usr/local/src/gcc_build/libiberty/testsuite'
make[1]: Leaving directory `/home/tobezidane/usr/local/src/gcc_build/libiberty'
make[1]: Entering directory `/home/tobezidane/usr/local/src/gcc_build/gcc'
(cd intl && make all)
make[2]: Entering directory `/home/tobezidane/usr/local/src/gcc_build/gcc/intl'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/tobezidane/usr/local/src/gcc_build/gcc/intl'
gcc -DIN_GCC -DCROSS_COMPILE -O2 -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wtraditional -pedantic -Wno-long-long -DHAVE_CONFIG_H -o Tcollect2.exe \
collect2.o tlink.o hash.o intl.o underscore.o version.o ../libiberty/libiberty.a
collect2.o(.text+0xaaf):collect2.c: undefined reference to `kill'
collect2.o(.text+0xae0):collect2.c: undefined reference to `kill'
collect2.o(.text+0x1fc5):collect2.c: undefined reference to `pipe'
collect2.o(.text+0x2024):collect2.c: undefined reference to `fork'
collect2: ld returned 1 exit status
make[1]: *** [collect2.exe] Error 1
make[1]: Leaving directory `/home/tobezidane/usr/local/src/gcc_build/gcc'
make: *** [all-gcc] Error 2
시간이 많이 지났지만, 댓글이 없어 달아봅니다.
요즘 저도 같은 문제로 고민했었는데, 찾아보니 되는 방법이 있네요.
http://sources.redhat.com/ml/crossgcc/2000-q1/msg00072.html
여기에 보시면 수정해야할 내용들이 나옵니다.
1. gcc/configure 안의 'i[34567]86-*-mingw32*' 엔트리 안에 xmake_file=i386/x-mingw32를 추가
2. gcc/config/i386 디렉토리에 x-mingw32라는 파일을 추가합니다. 이 파일에는 다음의 한줄만 들어갑니다.
USE_COLLECT2=
문제는 collect2에서 위의 함수들을 사용하는 것이었는데, 이것을 이 파일의 설정으로 건너뛰는것 같습니다.
댓글 달기