2014-05-11 1 views
5

Je compile courier-authlib-0.66.1 qui utilise libtool pour la compilation. J'ai modifié tous les Makefiles pour supprimer CFLAGS et CXXFLAGS dans les lignes --mode = link car j'utilise des drapeaux de compilateur spécialement pour clang qui vont perturber l'éditeur de liens.Erreur libtool pendant le couplage

Lors de la compilation, j'ai l'erreur suivante:

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

Apparemment, il y a deux barres dans la commande et je devrais retirer un d'entre eux. Cependant, quand j'ai ouvert le fichier libtool et sauté à la ligne 1085, je trouve que le code suivant

eval "$my_cmd"

Pourriez-vous s'il vous plaît me dire comment trouver la cause de cette erreur et y remédier? Ou quels documents pourraient m'aider? Je vous remercie!

Répondre

1

Le problème est résolu. J'ai posé une question dans la liste de courrier Courier et a obtenu une très bonne réponse: http://sourceforge.net/p/courier/mailman/message/32327466/

Je viens de copier la partie clé ici.

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

En fait, la variable \ $ de global_symbol_pipe manque en quelque sorte, alors je viens enlevé. Bien sûr, c'est juste une solution sale ...