Qihoo360 / logkafka

Collect logs and send lines to Apache Kafka
Other
498 stars 115 forks source link

Error while make in install-libzookeeper_mt. Possible compile error? #26

Open adivardhan opened 5 years ago

adivardhan commented 5 years ago

$...:c jon.doe$ sudo make install Password: /bin/sh ./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 -fno-common -DPIC -o .libs/zookeeper.o In file included from src/zookeeper.c:27: In file included from ./include/zookeeper.h:34: ./include/recordio.h:76:9: error: expected ')' int64_t htonll(int64_t v); ^ /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/sys/_endian.h:141:25: note: expanded from macro 'htonll'

define htonll(x) __DARWIN_OSSwapInt64(x)

                    ^

/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/libkern/_OSByteOrder.h:78:30: note: expanded from macro '__DARWIN_OSSwapInt64' (builtin_constant_p(x) ? DARWIN_OSSwapConstInt64(x) : _OSSwapInt64(x)) ^ ./include/recordio.h:76:9: note: to match this '(' /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/sys/_endian.h:141:25: note: expanded from macro 'htonll'

define htonll(x) __DARWIN_OSSwapInt64(x)

                    ^

/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/libkern/_OSByteOrder.h:78:5: note: expanded from macro '__DARWIN_OSSwapInt64' (builtin_constant_p(x) ? DARWIN_OSSwapConstInt64(x) : _OSSwapInt64(x)) ^ In file included from src/zookeeper.c:27: In file included from ./include/zookeeper.h:34: ./include/recordio.h:76:9: error: cannot redeclare builtin function '__builtin_constant_p' int64_t htonll(int64_t v); ^ /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/sys/_endian.h:141:25: note: expanded from macro 'htonll'

define htonll(x) __DARWIN_OSSwapInt64(x)

                    ^

/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/libkern/_OSByteOrder.h:78:6: note: expanded from macro '__DARWIN_OSSwapInt64' (builtin_constant_p(x) ? DARWIN_OSSwapConstInt64(x) : _OSSwapInt64(x)) ^ ./include/recordio.h:76:9: note: '__builtin_constant_p' is a builtin with type 'int ()' /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/sys/_endian.h:141:25: note: expanded from macro 'htonll'

define htonll(x) __DARWIN_OSSwapInt64(x)

                    ^

/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/libkern/_OSByteOrder.h:78:6: note: expanded from macro '__DARWIN_OSSwapInt64' (builtin_constant_p(x) ? DARWIN_OSSwapConstInt64(x) : _OSSwapInt64(x)) ^ 2 errors generated. make: *** [zookeeper.lo] Error 1

zheolong commented 3 years ago

@adivardhan I will fix this bug today

zookeeper-3.4.6/src/c/nclude/recordio.h and zookeeper-3.4.6/src/c/src/recordio.c redeclare builtin function '__builtin_constant_p' in the sdk of new OSX system, as your log show, your system version is MacOSX10.14.

modify the two files will fix this problem, just as below:

modify_recordio_h modify_recordio_c