2011-12-20 7 views
9

이것은 매우 간단한 문제입니다. 나는 autoconf & pkg-config가 어떻게 작동 하는지를 배우기 위해 사용하고있는 아주 간단한 configure.ac 파일을 가지고있다. 내가 다음 명령 줄에서 autoconf를 실행할 수 있으며이 configure 스크립트를 생성하지pkg-config 매크로 사용 PKG_CHECK_MODULES 실패

AC_PREREQ(2.61) 
AC_INIT(autoconf_test, 1.0, [email protected]) 

PKG_CHECK_MODULES(libusbmuxd, libusbmuxd >= 0.1.4) 

: 것처럼 confgure.ac 파일을 찾습니다. 내가 설정 스크립트를 실행할 때, 나는 다음과 같은 오류 얻을 : 나는이 라이브러리를 찾을 수 있는지 여부를 확인하기 위해 명령 줄에서 PKG-설정 프로그램을 사용하는 경우

./configure: line 1618: syntax error near unexpected token `libusbmuxd,' 
./configure: line 1618: `PKG_CHECK_MODULES(libusbmuxd, libusbmuxd >= 0.1.4)' 

를, 그것은 성공합니다.

/usr/lib/pkgconfig $pkg-config --libs --cflags --modversion libusbmuxd 

1.0.7 
-I/usr/local/Cellar/usbmuxd/1.0.7/include -L/usr/local/Cellar/usbmuxd/1.0.7/lib -lusbmuxd 

그래서, 어떤 이유로 PGK_CHECK_MODULE 매크로를 찾을 수없는 것이 분명 보인다 나는 이유를 모르겠습니다.

이것은 아마도 OS마다 다르지만 Mac OS X 10.6.8을 사용하고 있습니다.

+1

매크로가 틀리면'pkg.m4' 파일에 있습니다. 이 파일을'/ usr/share/aclocal' 또는 유사한 디렉토리에서 찾을 수 있습니까? – ptomato

+3

'aclocal --print'를 사용하여 pkg.m4를 찾을 디렉토리를 결정하십시오. –

+0

어떻게 pkg-config를 설치했으며 autotools를 어떻게 설치 했습니까? –

답변

16

부트 스트랩 할 때 (즉, autoreconf를 실행할 때) aclocal이 pkg.m4를 찾을 수 없습니다. 이는 pkg-config가 설치되지 않았거나 aclocal이 알지 못하는 곳에 설치 되었기 때문입니다. (즉, automake와는 다른 접두어로 설치되었습니다.) 실제로 autotools와 함께 pkg-config를 사용하는 가장 좋은 방법은 그것을 사용하지 말라는 큰 사고 방식이 있습니다. autoconf 메일 링리스트 아카이브를 살펴보면,이 토론 된 광고 - 구역질을 보게 될 것입니다. 나는 pkg-config를 사용하지 말아야한다고 말하지는 않는다. (비록 그렇게 하는게 좋다고 생각 하긴하지만) 많은 사람들이 그것을 완전히 피할 것을 권한다.

0

자제 사람들은 이것이 자신의 문제가 아니며 경고로 스윕했다고 판단했습니다. 누구도 홈 브루 (homebrew) 또는 오토 데스크 (automake)를 사용하고 있으며 무엇이 잘못되었는지에 대한 세부 사항을 깊이 파고 들어가기를 기대하기 때문에 아무도 볼 수 없기 때문에 초조해합니다. Here's the link.