brew – patching.. Hunk FAILED

Overview

brew는 기존 배포판을 맥 환경에 맞도록 수정해 로컬에 설치할 수 있도록 도와준다. 그 과정 중 하나로 애용되는 것이 patch다. 대부분의 patch는 정상적으로 적용될 것이나, 패치가 정상적으로 이루어질 수 없다면 brewHunk FAILED라면서 설치를 중지한다. 이 경우에는 fomula를 직접 수정해 잘못된 diff내용을 수정해주어야 한다.

Example

다음은 kf5-sonnet 설치 중 나타난 에러이다.

다음 명령으로 fomula를 확인해본다.

patch가 적용할 diff 내용을 살펴본다.

대조를 위해 kf5-sonnet의 해당 내용를 확인한다.

왜인지 몰라도, set_target_properties(sonnet_nsspellchecker PROPERTIES OUTPUT_NAME "nsspellchecker")는 위의 +뒤에 와야 하나 개행이 이루어졌음을 알 수 있다. 이를 수정해 준 뒤 다시 brew install 을 수행하면 해당 에러가 발생하지 않는 것을 알 수 있다.

Further reading

patch, diff에 관해 읽어보면 좋다.

댓글 남기기