链接期间的libtool错误

Zil*_*ate 5 makefile libtool

我正在编译courier-authlib-0.66.1,它利用libtool进行编译.我修改了所有Makefile以删除--mode =链接行中的CFLAGS和CXXFLAGS,因为我使用了一些特殊的编译器标志用于clang,这会使链接器混乱.

在编译期间,我收到以下错误:

libtool的:链接:在/ usr/bin中/纳米-B的.libs/authsasl.o的.libs/authsaslcram.o的.libs/authsasllogin.o的.libs/authsaslplain.o的.libs/authsaslfrombase64.o的.libs/authsasltobase64.o | |/bin/sed的/.*//'| 排序| uniq> .libs/libcourierauthsasl.exp

./libtool:eval:line 1085:意外标记附近的语法错误`|'

显然命令中有两个条,我应该删除其中一个.但是,当我打开libtool文件并跳转到第1085行时,我只找到以下代码

评估"$ my_cmd"

你能告诉我如何找到这个错误的根本原因并解决它吗?或者哪些文件可能对我有帮助?谢谢!

Zil*_*ate 2

问题已经解决了。我在 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"
Run Code Online (Sandbox Code Playgroud)

实际上, \$global_symbol_pipe 变量不知何故丢失了,所以我只是将其删除。当然,这只是一个肮脏的解决方案......