2014-05-11 3 views
5

컴파일을 위해 libtool을 사용하는 courier-authlib-0.66.1을 컴파일 중입니다. 링커를 혼란스럽게 할 clang을 위해 특별히 컴파일러 플래그를 사용하기 때문에 --mode = link lines에서 CFLAGS와 CXXFLAGS를 제거하도록 모든 Makefile을 수정했습니다. 연결 도중 libtool 오류가 발생했습니다.

libtool: link: /usr/bin/nm -B .libs/authsasl.o .libs/authsaslcram.o .libs/authsasllogin.o .libs/authsaslplain.o .libs/authsaslfrombase64.o .libs/authsasltobase64.o | | /bin/sed 's/.* //' | sort | uniq > .libs/libcourierauthsasl.exp

./libtool: eval: line 1085: syntax error near unexpected token `|'

이 분명히 명령에 두 개의 바있다 그리고 나는 그들 중 하나를 제거해야합니다 :

컴파일하는 동안, 나는 다음과 같은 오류가 발생했습니다. 나는 libtool이 파일을 열고 라인 1085에 뛰어 그러나, 나는 단지

eval "$my_cmd"

가 어떻게이 오류의 근본 원인을 찾아서 해결하는 방법을 가르쳐 주 시겠어요 다음 코드를 찾을? 또는 어떤 문서가 도움이 될 수 있습니까? 고맙습니다!

답변

1

문제가 해결되었습니다. 나는 Courier의 메일 목록에 질문을하고 아주 좋은 대답을 얻었습니다. http://sourceforge.net/p/courier/mailman/message/32327466/

방금 ​​키 부분을 복사했습니다.

$ fgrep 'sort | uniq' libtool 
export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | 
\$SED 's/.* //' | sort | uniq > \$export_symbols" 

사실, \ $의 global_symbol_pipe 변수는 어떻게 든 내가 그냥 제거가 없습니다. 물론 더러운 솔루션 일뿐입니다 ...

관련 문제