2011-01-13 2 views
4

AC_SEARCH_LIBS를 사용하여 시스템에서 X 라이브러리의 위치를 ​​찾으려고합니다. 일부 오래된 시스템 (RH4)은/usr/X11에 라이브러리를 가지고 있지만, 대부분의 현재 시스템은/usr/lib에 넣습니다. AC_SEARCH_LIBS을 사용하여 configure.ac 구문에 문제가 발생했습니다.

나는 다음은 -L는/usr/X11R6가있는 경우에만 필요 LDFLAGS에 추가 할 것으로 기대 시도 :

AC_SEARCH_LIBS([XFree], [X11], [], [ 
    LDFLAGS="$LDFLAGS -L/usr/X11R6/lib -L/usr/X11R6/lib64" 
    AC_MSG_CHECKING["Looking for XFree in /usr/X11R6"] 
    AC_SEARCH_LIBS([XFree], [X11], [], [ 
    AC_MSG_FAILURE(["Cannot find X11. Try setting LDFLAGS -L"], [-1]) 
    ]) 
]) 

하지만 난 얻을 생성 된 구성 스크립트의 구문 오류 :

./configure: line 15546: syntax error near unexpected token `fi' 
./configure: line 15546: `fi' 

내가 뭐 잘못하고있는거야?

도움이 필요합니다.

+4

당신은 presupplied 매크로'AC_PATH_X' 또는'AC_PATH_XTRA'를 사용하여 생각 해 봤나? –

+1

아니요. 나는 그들에 대해 몰랐지만 그것을 사용할 것입니다. –

답변

2

먼저 configure의 15546 번 라인을 살펴 보시기 바랍니다. 쉘 스크립트가 좋지 않더라도 오류는 종종 즉시 명백합니다. , 나는 그것이 AC_MSG_CHECKING 뒤에 괄호의 부족이라고 생각이라고 말했다

,이 시도 :

AC_MSG_CHECKING([Looking for XFree in /usr/X11R6]) 
+0

configure 스크립트를보고 두 개의 fi가 연속적으로 나왔지만 일치하는 if를 추적하기에는 너무 복잡했습니다. –

+0

당신은 아마도()의 부재에 대해 아마 옳았 습니다만, 어제부터 AC_SEARCH_LIBS의 값이 캐싱된다는 사실을 발견했습니다. 두 번 호출하면 두 번째 호출이 실제로 확인되지 않으므로 전환해야했습니다 다른 모든 계획에. 답변을 주셔서 감사합니다. –

관련 문제