빌드시 Couldn't reserve space for cygwin's heap (0xXXXXXXXX <0xXXXXXXXX>) in child, Win32 error 0 에러가 발생할 때
NXP 공부 중 프로젝트를 빌드했는데
Couldn't reserve space for cygwin's heap (0xXXXXXXXX <0xXXXXXXX>) in child, Win32 error 0
와 같은 에러가 발생하여 빌드가 되지 않는다.
구글링 결과 child process가 fork() 될 때, dll 파일이 로드되는 메모리 주소가 서로 다르게되어 fork() 가 실패하는 것이 원인이라고 한다.
이럴 경우, 해당 Devtool이 의존하는 msys-1.0.dll 파일의 base address를 바꾸면 제대로 동작한다.
(근본적인 원인 해결방법은 아직까진 없는 듯 하다.)
rebase를 위해 해당 명령어의 파일을 bin 폴더에 넣어주면 된다. (실행하고자 하는 쉘의 bin 폴더에 넣어준다.)
소스 : http://repo.or.cz/w/msysgit.git/tree/322c42c780833a52bd7cd0358a562ab243ecfbce:/src/rebase
바이너리 : http://repo.or.cz/w/msysgit.git/history/76920dc49da361257cbccb02ea63b3e5357fe353:/bin/rebase.exe
복사 후, msys-1.0.dll 파일이 있는 폴더로 이동한다.
[/cygdrive/c/nxp/LPCXpresso_5.2.4_2122/lpcxpresso/msys/bin] $ |
아래의 명령어를 사용하여 rebase 한다.
[/cygdrive/c/nxp/LPCXpresso_5.2.4_2122/lpcxpresso/msys/bin] $ rebase -b 0x30000000 msys-1.0.dll |
해당 Devtool을 다시 실행하여 빌드해본다.
제대로 동작하였다.
첨부파일로 rebase bin 파일을 넣어둬야지!
오늘의 일기 끝!
'Computer > Tip' 카테고리의 다른 글
administrator 계정 활성/비활성화 (0) | 2014.04.11 |
---|---|
엑셀 2010 여러창 띄우기 Reg (0) | 2012.07.18 |
Bitstream Vera Sans Mono 코딩용 글꼴 (0) | 2012.05.23 |
Dos .bat 명령어를 쉘 스크립트 명령어와 비교하기 (0) | 2012.05.23 |
Registor를 이용하여 드라이브 문자 바꾸기 (0) | 2012.03.22 |
댓글
이 글 공유하기
다른 글
-
administrator 계정 활성/비활성화
administrator 계정 활성/비활성화
2014.04.11 -
엑셀 2010 여러창 띄우기 Reg
엑셀 2010 여러창 띄우기 Reg
2012.07.18 -
Bitstream Vera Sans Mono 코딩용 글꼴
Bitstream Vera Sans Mono 코딩용 글꼴
2012.05.23 -
Dos .bat 명령어를 쉘 스크립트 명령어와 비교하기
Dos .bat 명령어를 쉘 스크립트 명령어와 비교하기
2012.05.23