2014년 6월 9일 월요일

CPPUnit 설치시 Msys ***Couldn't reserve space for cygwin's heap

오픈소스 기반 품질환경 구축을 위해 CPPUnit 을 설치하던 중,

MinGW Shell 에서 아래 로그와 함께 모든 명령어가 먹통이 되는 현상을 겪었다.


*** Couldn't reserve space for cygwin's heap (0xXXXXXXXX <0xXXXXXXX>) in child, Win32 error 0


집에서 해보니 잘 되는데, 회사에선 위 로그와 함께 모든 명령어가 먹통이 된다.

구글링 결과, 아래와 같은 해결방법을 얻었고 실행결과 해결할 수 있었다.


msys 에 포함된 dll 파일들의 base address 를 바꾸어주어야 함.

1. rebase 프로그램을 다운받아 msys 의 bin 디렉토리에 복사를 한다.



2. 커맨드라인(cmd) 창을 열고 아래와 같이 입력한다.

C:\MinGW\msys\1.0\bin>rebase -b 0x30000000 msys-1.0.dll
(0xXXXXXXXX 는 적당히 찾아서 적으면 된다.)

만약 ReBaseImage Failed with last error = 6 이란 메시지와 함께 실패한다면

cygwin 관련 프로그램을 모두 종료하고 다시 시도한다.

(내 경우는 MinGW Shell 이 열려 있어서 문제가 발생했다.)


3. MinGW Shell 에서 아래를 실행한다.

$ mingw-get install msys-rebase

명령이 성공적으로 실행되면 MinGW Shell 을 닫는다.


4. 탐색기에서 msys 의 bin 디렉토리로 이동하여 dash 를 실행하고 아래와 같이 입력한다.

/bin/rebaseall

만약 에러 메시지가 출력되면 에러 메시지를 보고 적절한 조치를 취해준 뒤 다시 실행한다.


5. /bin/peflagsall 을 입력해준다.


참조 http://azza.tistory.com/152

댓글 없음:

댓글 쓰기