gettext(intltools용)가 필요한 프로그램을 macOS에서 컴파일하려고 합니다. 구성 스크립트를 실행하기 위해 다음 명령을 시도했습니다.
LDFLAGS=-L/usr/local/opt/gettext/lib CPPFLAGS=-I/usr/local/opt/gettext/include ./configure
LDFLAGS=/usr/local/opt/gettext/lib CPPFLAGS=/usr/local/opt/gettext/include ./configure
첫 번째 경우에는 다음 오류 메시지와 함께 실패합니다.
configure: error: GNU gettext tools not found; required for intltool
후자의 경우 C 컴파일러를 찾을 수 없습니다.
이런 종류의 문제를 해결하는 올바른 방법은 무엇입니까? 나는 이것이 다음과 관련이 있을 수 있다는 것을 이해합니다.이것
답변1
현재 , 및 기타 바이너리를 실행할 configure
수 없기 때문에 스크립트가 실패 합니다 .gettext
$PATH
xgettext
msgfmt
Homebrew가 설치된 macOS에서 gettext
Homebrew 패키지는 실제로 이러한 바이너리를 설치 하지만 /usr/local/Cellar/gettext/0.18.1.1/bin
./usr/local/bin
그 이유는Homebrew는 "지하실"에 모든 "keggs"를 설치합니다., 그리고 gettext
"술통" 가방입니다.
모든 것이 예상대로 작동한다면 도구가 이미 gettext
디렉터리에서 심볼릭 링크 Cellar
되어 있어야 하며 /usr/local/bin
, Homebrew가 올바르게 설정되어 있으면 /usr/local/bin
도구가 $PATH
.
분명히 이것은아니요설정이 정확하므로 이전 $PATH
설정이 올바른지, 도구에 대한 링크가 Cellar to 디렉터리에 있는지 확인하는 것이 좋습니다. 이러한 문제 중 하나 또는 둘 다를 해결하면 이 문제가 해결됩니다./usr/local/bin
/usr/bin
gettext
/usr/local/bin
업데이트:에 따르면이 슈퍼유저 답변gettext
, 도구의 심볼릭 링크가 기본적으로 올바르게 설정되지 않을 수 있습니다. 다음 명령으로 문제가 해결됩니다.
$ brew link gettext --force
다른 응용 프로그램을 컴파일한 후에는 다음 명령을 사용하여 위의 작업을 실행 취소할 수 있습니다.
$ brew unlink gettext
...당신이 원하는 경우.
StackOverflow에 대한 또 다른 답변gettext
Homebrew 패키지의 실행 파일 중 하나인 "버킷 전용"에 대해 계속 설명하면 다음과 같습니다.아니요"The Cellar"에서 링크됩니다 /usr/local/bin
. 이것은 의도적으로 설계된 것입니다. 이는 스크립트가 제대로 작동하기 brew link
위해 이 단계가 필요한 이유를 설명합니다.configure
"버킷 전용" 바이너리가 기본적으로 저장되지 않는 이유 $PATH
는 macOS 기본 시스템에 이미 존재하는 비슷한 이름의 도구를 방해할 수 있기 때문입니다.