구성에서 gettext 사용

구성에서 gettext 사용

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$PATHxgettextmsgfmt

Homebrew가 설치된 macOS에서 gettextHomebrew 패키지는 실제로 이러한 바이너리를 설치 하지만 /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/bingettext/usr/local/bin


업데이트:에 따르면이 슈퍼유저 답변gettext, 도구의 심볼릭 링크가 기본적으로 올바르게 설정되지 않을 수 있습니다. 다음 명령으로 문제가 해결됩니다.

$ brew link gettext --force

다른 응용 프로그램을 컴파일한 후에는 다음 명령을 사용하여 위의 작업을 실행 취소할 수 있습니다.

$ brew unlink gettext

...당신이 원하는 경우.

StackOverflow에 대한 또 다른 답변gettextHomebrew 패키지의 실행 파일 중 하나인 "버킷 전용"에 대해 계속 설명하면 다음과 같습니다.아니요"The Cellar"에서 링크됩니다 /usr/local/bin. 이것은 의도적으로 설계된 것입니다. 이는 스크립트가 제대로 작동하기 brew link위해 이 단계가 필요한 이유를 설명합니다.configure

"버킷 전용" 바이너리가 기본적으로 저장되지 않는 이유 $PATH는 macOS 기본 시스템에 이미 존재하는 비슷한 이름의 도구를 방해할 수 있기 때문입니다.

관련 정보