2016-02-21 3 views
1

Я пытаюсь скомпилировать привязки C для Zookeeper, но я не могу этого сделать. Когда я бегу сделать, я получаю следующее сообщение об ошибке:Ошибка компиляции: ошибка синтаксиса в скрипте VERSION

/usr/bin/ld:.libs/libzookeeper_st.ver:2: ignoring invalid character `\033' in script 
/usr/bin/ld:.libs/libzookeeper_st.ver:2: ignoring invalid character `3' in script 
/usr/bin/ld:.libs/libzookeeper_st.ver:2: ignoring invalid character `5' in script 
/usr/bin/ld:.libs/libzookeeper_st.ver:2: syntax error in VERSION script 
collect2: error: ld returned 1 exit status 

Весь выход для ./configure и make прикрепляются ниже.

Может ли кто-нибудь помочь мне в том, как я могу решить эту проблему?

$ ./configure 
checking for doxygen... no 
checking for perl... /usr/bin/perl 
checking for dot... no 
checking for a BSD-compatible install... /usr/bin/install -c 
checking whether build environment is sane... yes 
checking for a thread-safe mkdir -p... /bin/mkdir -p 
checking for gawk... gawk 
checking whether make sets $(MAKE)... yes 
checking for cppunit-config... /usr/bin/cppunit-config 
checking for Cppunit - version >= 1.10.2... 1.13.1 
checking for generated/zookeeper.jute.c... yes 
checking for generated/zookeeper.jute.h... yes 
checking for gcc... gcc 
checking whether the C compiler works... yes 
checking for C compiler default output file name... a.out 
checking for suffix of executables... 
checking whether we are cross compiling... no 
checking for suffix of object files... o 
checking whether we are using the GNU C compiler... yes 
checking whether gcc accepts -g... yes 
checking for gcc option to accept ISO C89... none needed 
checking for style of include used by make... GNU 
checking dependency style of gcc... gcc3 
checking whether gcc and cc understand -c and -o together... yes 
checking for g++... g++ 
checking whether we are using the GNU C++ compiler... yes 
checking whether g++ accepts -g... yes 
checking dependency style of g++... gcc3 
checking whether ln -s works... yes 
checking build system type... x86_64-unknown-linux-gnu 
checking host system type... x86_64-unknown-linux-gnu 
checking how to print strings... printf 
checking for a sed that does not truncate output... /bin/sed 
checking for grep that handles long lines and -e... /bin/grep 
checking for egrep... /bin/grep -E 
checking for fgrep... /bin/grep -F 
checking for ld used by gcc... /usr/bin/ld 
checking if the linker (/usr/bin/ld) is GNU ld... yes 
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B 
checking the name lister (/usr/bin/nm -B) interface... BSD nm 
checking the maximum length of command line arguments... 1572864 
checking whether the shell understands some XSI constructs... yes 
checking whether the shell understands "+="... yes 
checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop 
checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop 
checking for /usr/bin/ld option to reload object files... -r 
checking for objdump... objdump 
checking how to recognize dependent libraries... pass_all 
checking for dlltool... no 
checking how to associate runtime and link libraries... printf %s\n 
checking for ar... ar 
checking for archiver @FILE support... @ 
checking for strip... strip 
checking for ranlib... ranlib 
checking command to parse /usr/bin/nm -B output from gcc object... ok 
checking for sysroot... no 
checking for mt... mt 
checking if mt is a manifest tool... no 
checking how to run the C preprocessor... gcc -E 
checking for ANSI C header files... yes 
checking for sys/types.h... yes 
checking for sys/stat.h... yes 
checking for stdlib.h... yes 
checking for string.h... yes 
checking for memory.h... yes 
checking for strings.h... yes 
checking for inttypes.h... yes 
checking for stdint.h... yes 
checking for unistd.h... yes 
checking for dlfcn.h... yes 
checking for objdir... .libs 
checking if gcc supports -fno-rtti -fno-exceptions... no 
checking for gcc option to produce PIC... -fPIC -DPIC 
checking if gcc PIC flag -fPIC -DPIC works... yes 
checking if gcc static flag -static works... yes 
checking if gcc supports -c -o file.o... yes 
checking if gcc supports -c -o file.o... (cached) yes 
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes 
checking whether -lc should be explicitly linked in... no 
checking dynamic linker characteristics... GNU/Linux ld.so 
checking how to hardcode library paths into programs... immediate 
checking whether stripping libraries is possible... yes 
checking if libtool supports shared libraries... yes 
checking whether to build shared libraries... yes 
checking whether to build static libraries... yes 
checking how to run the C++ preprocessor... g++ -E 
checking for ld used by g++... /usr/bin/ld -m elf_x86_64 
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes 
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes 
checking for g++ option to produce PIC... -fPIC -DPIC 
checking if g++ PIC flag -fPIC -DPIC works... yes 
checking if g++ static flag -static works... yes 
checking if g++ supports -c -o file.o... yes 
checking if g++ supports -c -o file.o... (cached) yes 
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes 
checking dynamic linker characteristics... (cached) GNU/Linux ld.so 
checking how to hardcode library paths into programs... immediate 
checking for pthread_mutex_lock in -lpthread... yes 
configure: building with SyncAPI support 
checking for ANSI C header files... (cached) yes 
checking arpa/inet.h usability... yes 
checking arpa/inet.h presence... yes 
checking for arpa/inet.h... yes 
checking fcntl.h usability... yes 
checking fcntl.h presence... yes 
checking for fcntl.h... yes 
checking netdb.h usability... yes 
checking netdb.h presence... yes 
checking for netdb.h... yes 
checking netinet/in.h usability... yes 
checking netinet/in.h presence... yes 
checking for netinet/in.h... yes 
checking for stdlib.h... (cached) yes 
checking for string.h... (cached) yes 
checking sys/socket.h usability... yes 
checking sys/socket.h presence... yes 
checking for sys/socket.h... yes 
checking sys/time.h usability... yes 
checking sys/time.h presence... yes 
checking for sys/time.h... yes 
checking for unistd.h... (cached) yes 
checking sys/utsname.h usability... yes 
checking sys/utsname.h presence... yes 
checking for sys/utsname.h... yes 
checking for an ANSI C-conforming const... yes 
checking for inline... inline 
checking whether time.h and sys/time.h may both be included... yes 
checking for nfds_t... yes 
checking whether to enable ipv6... yes 
checking for getcwd... yes 
checking for gethostbyname... yes 
checking for gethostname... yes 
checking for getlogin... yes 
checking for getpwuid_r... yes 
checking for gettimeofday... yes 
checking for getuid... yes 
checking for memmove... yes 
checking for memset... yes 
checking for poll... yes 
checking for socket... yes 
checking for strchr... yes 
checking for strdup... yes 
checking for strerror... yes 
checking for strtol... yes 
configure: creating ./config.status 
config.status: creating Makefile 
config.status: creating config.h 
config.status: config.h is unchanged 
config.status: executing depfiles commands 
config.status: executing libtool commands 

$ make 
make[1]: Entering directory `/home/ubuntu/Desktop/workspace/installs/zookeeper-3.4.6/src/c' 
/bin/bash ./libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I./include -I./tests -I./generated -Wall -Werror -g -O2 -D_GNU_SOURCE -MT zookeeper.lo -MD -MP -MF .deps/zookeeper.Tpo -c -o zookeeper.lo `test -f 'src/zookeeper.c' || echo './'`src/zookeeper.c 
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I./include -I./tests -I./generated -Wall -Werror -g -O2 -D_GNU_SOURCE -MT zookeeper.lo -MD -MP -MF .deps/zookeeper.Tpo -c src/zookeeper.c -fPIC -DPIC -o .libs/zookeeper.o 
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I./include -I./tests -I./generated -Wall -Werror -g -O2 -D_GNU_SOURCE -MT zookeeper.lo -MD -MP -MF .deps/zookeeper.Tpo -c src/zookeeper.c -o zookeeper.o >/dev/null 2>&1 
mv -f .deps/zookeeper.Tpo .deps/zookeeper.Plo 
/bin/bash ./libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I./include -I./tests -I./generated -Wall -Werror -g -O2 -D_GNU_SOURCE -MT recordio.lo -MD -MP -MF .deps/recordio.Tpo -c -o recordio.lo `test -f 'src/recordio.c' || echo './'`src/recordio.c 
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I./include -I./tests -I./generated -Wall -Werror -g -O2 -D_GNU_SOURCE -MT recordio.lo -MD -MP -MF .deps/recordio.Tpo -c src/recordio.c -fPIC -DPIC -o .libs/recordio.o 
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I./include -I./tests -I./generated -Wall -Werror -g -O2 -D_GNU_SOURCE -MT recordio.lo -MD -MP -MF .deps/recordio.Tpo -c src/recordio.c -o recordio.o >/dev/null 2>&1 
mv -f .deps/recordio.Tpo .deps/recordio.Plo 
/bin/bash ./libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I./include -I./tests -I./generated -Wall -Werror -g -O2 -D_GNU_SOURCE -MT zookeeper.jute.lo -MD -MP -MF .deps/zookeeper.jute.Tpo -c -o zookeeper.jute.lo `test -f 'generated/zookeeper.jute.c' || echo './'`generated/zookeeper.jute.c 
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I./include -I./tests -I./generated -Wall -Werror -g -O2 -D_GNU_SOURCE -MT zookeeper.jute.lo -MD -MP -MF .deps/zookeeper.jute.Tpo -c generated/zookeeper.jute.c -fPIC -DPIC -o .libs/zookeeper.jute.o 
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I./include -I./tests -I./generated -Wall -Werror -g -O2 -D_GNU_SOURCE -MT zookeeper.jute.lo -MD -MP -MF .deps/zookeeper.jute.Tpo -c generated/zookeeper.jute.c -o zookeeper.jute.o >/dev/null 2>&1 
mv -f .deps/zookeeper.jute.Tpo .deps/zookeeper.jute.Plo 
/bin/bash ./libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I./include -I./tests -I./generated -Wall -Werror -g -O2 -D_GNU_SOURCE -MT zk_log.lo -MD -MP -MF .deps/zk_log.Tpo -c -o zk_log.lo `test -f 'src/zk_log.c' || echo './'`src/zk_log.c 
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I./include -I./tests -I./generated -Wall -Werror -g -O2 -D_GNU_SOURCE -MT zk_log.lo -MD -MP -MF .deps/zk_log.Tpo -c src/zk_log.c -fPIC -DPIC -o .libs/zk_log.o 
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I./include -I./tests -I./generated -Wall -Werror -g -O2 -D_GNU_SOURCE -MT zk_log.lo -MD -MP -MF .deps/zk_log.Tpo -c src/zk_log.c -o zk_log.o >/dev/null 2>&1 
mv -f .deps/zk_log.Tpo .deps/zk_log.Plo 
/bin/bash ./libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I./include -I./tests -I./generated -Wall -Werror -g -O2 -D_GNU_SOURCE -MT zk_hashtable.lo -MD -MP -MF .deps/zk_hashtable.Tpo -c -o zk_hashtable.lo `test -f 'src/zk_hashtable.c' || echo './'`src/zk_hashtable.c 
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I./include -I./tests -I./generated -Wall -Werror -g -O2 -D_GNU_SOURCE -MT zk_hashtable.lo -MD -MP -MF .deps/zk_hashtable.Tpo -c src/zk_hashtable.c -fPIC -DPIC -o .libs/zk_hashtable.o 
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I./include -I./tests -I./generated -Wall -Werror -g -O2 -D_GNU_SOURCE -MT zk_hashtable.lo -MD -MP -MF .deps/zk_hashtable.Tpo -c src/zk_hashtable.c -o zk_hashtable.o >/dev/null 2>&1 
mv -f .deps/zk_hashtable.Tpo .deps/zk_hashtable.Plo 
/bin/bash ./libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I./include -I./tests -I./generated -Wall -Werror -g -O2 -D_GNU_SOURCE -MT st_adaptor.lo -MD -MP -MF .deps/st_adaptor.Tpo -c -o st_adaptor.lo `test -f 'src/st_adaptor.c' || echo './'`src/st_adaptor.c 
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I./include -I./tests -I./generated -Wall -Werror -g -O2 -D_GNU_SOURCE -MT st_adaptor.lo -MD -MP -MF .deps/st_adaptor.Tpo -c src/st_adaptor.c -fPIC -DPIC -o .libs/st_adaptor.o 
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I./include -I./tests -I./generated -Wall -Werror -g -O2 -D_GNU_SOURCE -MT st_adaptor.lo -MD -MP -MF .deps/st_adaptor.Tpo -c src/st_adaptor.c -o st_adaptor.o >/dev/null 2>&1 
mv -f .deps/st_adaptor.Tpo .deps/st_adaptor.Plo 
/bin/bash ./libtool --tag=CC --mode=link gcc -Wall -Werror -g -O2 -D_GNU_SOURCE -o libzkst.la zookeeper.lo recordio.lo zookeeper.jute.lo zk_log.lo zk_hashtable.lo st_adaptor.lo -lm 
libtool: link: ar cru .libs/libzkst.a .libs/zookeeper.o .libs/recordio.o .libs/zookeeper.jute.o .libs/zk_log.o .libs/zk_hashtable.o .libs/st_adaptor.o 
libtool: link: ranlib .libs/libzkst.a 
libtool: link: (cd ".libs" && rm -f "libzkst.la" && ln -s "../libzkst.la" "libzkst.la") 
/bin/bash ./libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I./include -I./tests -I./generated -Wall -Werror -g -O2 -D_GNU_SOURCE -MT hashtable_itr.lo -MD -MP -MF .deps/hashtable_itr.Tpo -c -o hashtable_itr.lo `test -f 'src/hashtable/hashtable_itr.c' || echo './'`src/hashtable/hashtable_itr.c 
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I./include -I./tests -I./generated -Wall -Werror -g -O2 -D_GNU_SOURCE -MT hashtable_itr.lo -MD -MP -MF .deps/hashtable_itr.Tpo -c src/hashtable/hashtable_itr.c -fPIC -DPIC -o .libs/hashtable_itr.o 
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I./include -I./tests -I./generated -Wall -Werror -g -O2 -D_GNU_SOURCE -MT hashtable_itr.lo -MD -MP -MF .deps/hashtable_itr.Tpo -c src/hashtable/hashtable_itr.c -o hashtable_itr.o >/dev/null 2>&1 
mv -f .deps/hashtable_itr.Tpo .deps/hashtable_itr.Plo 
/bin/bash ./libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I./include -I./tests -I./generated -Wall -Werror -g -O2 -D_GNU_SOURCE -MT hashtable.lo -MD -MP -MF .deps/hashtable.Tpo -c -o hashtable.lo `test -f 'src/hashtable/hashtable.c' || echo './'`src/hashtable/hashtable.c 
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I./include -I./tests -I./generated -Wall -Werror -g -O2 -D_GNU_SOURCE -MT hashtable.lo -MD -MP -MF .deps/hashtable.Tpo -c src/hashtable/hashtable.c -fPIC -DPIC -o .libs/hashtable.o 
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I./include -I./tests -I./generated -Wall -Werror -g -O2 -D_GNU_SOURCE -MT hashtable.lo -MD -MP -MF .deps/hashtable.Tpo -c src/hashtable/hashtable.c -o hashtable.o >/dev/null 2>&1 
mv -f .deps/hashtable.Tpo .deps/hashtable.Plo 
/bin/bash ./libtool --tag=CC --mode=link gcc -Wall -Werror -g -O2 -D_GNU_SOURCE -o libhashtable.la hashtable_itr.lo hashtable.lo 
libtool: link: ar cru .libs/libhashtable.a .libs/hashtable_itr.o .libs/hashtable.o 
libtool: link: ranlib .libs/libhashtable.a 
libtool: link: (cd ".libs" && rm -f "libhashtable.la" && ln -s "../libhashtable.la" "libhashtable.la") 
/bin/bash ./libtool --tag=CC --mode=link gcc -Wall -Werror -g -O2 -D_GNU_SOURCE -no-undefined -version-info 2 -export-symbols-regex '(zoo_|zookeeper_|zhandle|Z|format_log_message|log_message|logLevel|deallocate_|zerror|is_unrecoverable)' -o libzookeeper_st.la -rpath /home/ubuntu/Desktop/workspace/installs/build/zookeeper-cbinding/lib libzkst.la libhashtable.la 
libtool: link: /usr/bin/nm -B ./.libs/libzkst.a ./.libs/libhashtable.a | sed -n -e 's/^.*[  ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[  ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' | sed '/ __gnu_lto/d' | /bin/sed 's/.* //' | sort | uniq > .libs/libzookeeper_st.exp 
libtool: link: /bin/grep -E -e "(zoo_|zookeeper_|zhandle|Z|format_log_message|log_message|logLevel|deallocate_|zerror|is_unrecoverable)" ".libs/libzookeeper_st.exp" > ".libs/libzookeeper_st.expT" 
libtool: link: mv -f ".libs/libzookeeper_st.expT" ".libs/libzookeeper_st.exp" 
libtool: link: echo "{ global:" > .libs/libzookeeper_st.ver 
libtool: link: cat .libs/libzookeeper_st.exp | sed -e "s/\(.*\)/\1;/" >> .libs/libzookeeper_st.ver 
libtool: link: echo "local: *; };" >> .libs/libzookeeper_st.ver 
libtool: link: gcc -shared -fPIC -DPIC -Wl,--whole-archive ./.libs/libzkst.a ./.libs/libhashtable.a -Wl,--no-whole-archive -lm -O2 -Wl,-soname -Wl,libzookeeper_st.so.2 -Wl,-version-script -Wl,.libs/libzookeeper_st.ver -o .libs/libzookeeper_st.so.2.0.0 
/usr/bin/ld:.libs/libzookeeper_st.ver:2: ignoring invalid character `\033' in script 
/usr/bin/ld:.libs/libzookeeper_st.ver:2: ignoring invalid character `3' in script 
/usr/bin/ld:.libs/libzookeeper_st.ver:2: ignoring invalid character `5' in script 
/usr/bin/ld:.libs/libzookeeper_st.ver:2: syntax error in VERSION script 
collect2: error: ld returned 1 exit status 
make[1]: *** [libzookeeper_st.la] Error 1 
make[1]: Leaving directory `/home/ubuntu/Desktop/workspace/installs/zookeeper-3.4.6/src/c' 
make: *** [all] Error 2 
+0

Можете ли вы разместить сценарий версии, который он не может разобрать? –

ответ

0

Поэтому я начал искать (в обратном направлении от точки ошибки) в файлах, вырабатываемый Libtool и есть grep команды, которая завинчивание вещи.

Выход следующей команды выглядит хорошо:

$ /usr/bin/nm -B ./.libs/libzkst.a ./.libs/libhashtable.a | sed -n -e 's/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' | sed '/ __gnu_lto/d' | /bin/sed 's/.* //' | sort | uniq > .libs/libzookeeper_st.exp 

$ head .libs/libzookeeper_st.exp 
deallocate_ACL 
deallocate_ACL_vector 
deallocate_AuthPacket 
deallocate_Buffer 
deallocate_CheckVersionRequest 

Но, когда /bin/grep применяется, выход имеет ошибочные цветовые коды:

$ /bin/grep -E -e "(zoo_|zookeeper_|zhandle|Z|format_log_message|log_message|logLevel|deallocate_|zerror|is_unrecoverable)" ".libs/libzookeeper_st.exp" > ".libs/libzookeeper_st.expT" 

$ head .libs/libzookeeper_st.expT 
ESC[1;35;40mESC[Kdeallocate_ESC[mESC[KACL 
ESC[1;35;40mESC[Kdeallocate_ESC[mESC[KACL_vector 
ESC[1;35;40mESC[Kdeallocate_ESC[mESC[KAuthPacket 
ESC[1;35;40mESC[Kdeallocate_ESC[mESC[KBuffer 
ESC[1;35;40mESC[Kdeallocate_ESC[mESC[KCheckVersionRequest 

Самое смешное, что если я использую /bin/grep --color=auto вместо /bin/grep все выглядит отлично.

Поэтому в основном я в конечном итоге экспорт --color=auto в GREP_OPTIONS, который ранее был установлен в --color=always:

$ echo $GREP_OPTIONS 
--color=always 

$ export GREP_OPTIONS='--color=auto' 

И вуаля! Все работает!