Сборка zookeeper 3.4.12 c клиентом на машине соляриса завершается с ошибкой libtool - PullRequest
0 голосов
/ 27 июня 2018

Я пытаюсь собрать клиент zookeeper 3.4.12 c на машине Solaris. Ниже приведены шаги, которые я выполнил,

  1. распаковать / распаковать архив с исходным кодом и перейти на zookeeper-x.x.x / src / c каталог.
  2. Выполните «./configure [OPTIONS]», чтобы сгенерировать make-файл. ./configure --without-cppunit

Этот шаг завершается с ошибкой ниже,

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

Есть идеи об ошибке?

С уважением, Ashwini.

Ответы [ 2 ]

0 голосов
/ 08 августа 2018

Нашел проблему. В файле make было что-то вроде этого:

"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". Но это решает проблему.

0 голосов
/ 27 июня 2018

Ошибка в том, что вам не хватает команды в этой части командной строки:

... ./.libs/libzkst.a ./.libs/libhashtable.a |  | /bin/gsed 's/.* //' ...

Если вы можете найти этот рецепт в Makefile, то, вероятно, там есть $ (что-то), которое расширено до пустой строки, таким образом, пытаясь выполнить команду null в конвейере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...