2014-05-11 12 views
5

Kompiluję program courier-authlib-0.66.1, który wykorzystuje libtool do kompilacji. Zmodyfikowałem wszystkie pliki Makefile, aby usunąć CFLAGS i CXXFLAGS w --mode = linie linków, ponieważ używam niektórych specjalnie flag kompilatora dla klang, które zmylą linker.Błąd libtool podczas łączenia

Podczas kompilacji, mam następujący błąd:

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 `|'

Widocznie są dwa bary w poleceniu i należy usunąć jedną z nich. Jednak, gdy otworzyłem plik libtool i wskoczył do linii 1085, tylko znajdę następujący kod

eval "$my_cmd"

mógłbyś mi powiedzieć jak znaleźć przyczynę tego błędu i jego rozwiązania? Albo które dokumenty mogą mi pomóc? Dziękuję Ci!

Odpowiedz

1

Problem został rozwiązany. Zadałem pytanie na liście mailowej Couriera i dostałem bardzo dobrą odpowiedź: http://sourceforge.net/p/courier/mailman/message/32327466/

Właśnie skopiowałem kluczową część tutaj.

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

Właściwie zmienna \ $ global_symbol_pipe jest jakoś brakuje, więc po prostu usuwa je. Oczywiście to tylko brudne rozwiązanie ...

Powiązane problemy