我正在尝试在Solaris计算机上构建zookeeper 3.4.12 c客户端。以下是我遵循的步骤,
此步骤失败,并出现以下错误
/bin/sh ./libtool --tag=CC --mode=link gcc -Wall -Werror -g -O2
-D_GNU_SOURCE -no-undefined -version-info 2 -lnsl -lsocket -export-symbols-regex '(zoo_|zookeeper_|zhandle|Z|format_log_message|log_message|logLevel|deallocate_|allocate_|zerror|is_unrecoverable)'
-o libzookeeper_st.la -rpath /usr/local/lib libzkst.la libhashtable.la libtool: link: /bin/nm -p ./.libs/libzkst.a ./.libs/libhashtable.a | | /bin/gsed 's/.* //' | sort | uniq > .libs/libzookeeper_st.exp ./libtool[1732]: eval: syntax error at line 1: `|' unexpected
*** Error code 3 make: Fatal error: Command failed for target `libzookeeper_st.la'
对错误有任何想法吗?
关于, 阿什维尼。
答案 0 :(得分:0)
错误是因为在命令行的此部分缺少命令:
... ./.libs/libzkst.a ./.libs/libhashtable.a | | /bin/gsed 's/.* //' ...
如果可以在Makefile中找到该配方,则可能有一个$(东西)被扩展为空字符串,因此尝试在管道中使用空命令。
答案 1 :(得分:0)
发现了问题。生成文件中有这样的内容:
“ libzookeeper_st.la:$(libzookeeper_st_la_OBJECTS)$(libzookeeper_st_la_DEPENDENCIES)$(AM_V_CCLD)$(libzookeeper_st_la_LINK)-rpath $(libdir)”。
如果我删除了 -rpath $ {libdir),一切都将正确构建。 不知道-rpath $(libdir)是做什么的。 -rpath $(libdir)扩展为“ -rpath / usr / local / lib”。但这可以解决问题。