Node-rdkafka 2.6.1 does not build with Node.js 12 under Debian 9.
Example output:
``In file included from /home/node/.node-gyp/12.0.0/include/node/v8-internal.h:14:0,
from /home/node/.node-gyp/12.0.0/include/node/v8.h:25,
from /home/node/.node-gyp/12.0.0/include/node/node.h:63,
from ../node_modules/nan/nan.h:53,
from /home/node/.npm/lib/node_modules/node-rdkafka/src/common.h:13,
from ../src/common.cc:13:
/home/node/.node-gyp/12.0.0/include/node/v8.h:3416:55: note: declared here
V8_DEPRECATE_SOON("Use maybe version", Local<Value> Get(uint32_t index));
^
/home/node/.node-gyp/12.0.0/include/node/v8config.h:322:3: note: in definition of macro ‘V8_DEPRECATE_SOON’
declarator __attribute__((deprecated(message)))
^~~~~~~~~~
../src/common.cc:516:31: warning: comparison between ‘enum rd_kafka_resp_err_t’ and ‘enum RdKafka::ErrorCode’ [-Wenum-compare]
if (err != RdKafka::ERR_NO_ERROR) {
^~~~~~~~~~~~
node-librdkafka.target.mk:126: recipe for target 'Release/obj.target/node-librdkafka/src/common.o' failed
rm 11a9e3388a67e1ca5c31c1d8da49cb6d2714eb41.intermediate
make: Leaving directory '/home/node/.npm/lib/node_modules/node-rdkafka/build'
make: *** [Release/obj.target/node-librdkafka/src/common.o] Error 1
gyp ERR! build error
gyp ERR! stack Error:makefailed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/home/node/nodejs/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:262:23)
gyp ERR! stack at ChildProcess.emit (events.js:196:13)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:256:12)
gyp ERR! System Linux 4.14.88-coreos
gyp ERR! command "/home/node/nodejs/bin/node" "/home/node/nodejs/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/node/.npm/lib/node_modules/node-rdkafka
gyp ERR! node -v v12.0.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install:node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /home/node/.npm/_logs/2019-04-24T06_32_28_180Z-debug.log
Example (simplified) Dockerfile:
FROM debian:stretch
RUN groupadd --gid 3333 node \
&& useradd --uid 3333 --gid node --shell /bin/bash --create-home node
ENV TERM=xterm
RUN apt-get update && apt-get install sudo && echo "node ALL=(ALL) NOPASSWD:/usr/bin/apt-get,/usr/bin/dpkg,/bin/rm" >> /etc/sudoers
USER node
ENV NODE_VERSION=12.0.0
ENV PATH="${PATH}:/home/node/.npm/bin:/home/node/nodejs/bin"
ENV NODE_PATH="/home/node/.npm/lib/node_modules"
RUN sudo apt-get install -y --no-install-recommends xz-utils curl ca-certificates \
&& mkdir /home/node/node_modules \
&& NODEJS_NAME="node-v${NODE_VERSION}-linux-x64" \
&& NODEJS_TAR="${NODEJS_NAME}.tar.xz" \
&& cd /home/node && curl "https://nodejs.org/dist/v${NODE_VERSION}/${NODEJS_NAME}.tar.xz" -o "/home/node/${NODEJS_TAR}" \
&& tar xf ${NODEJS_TAR} \
&& mv "${NODEJS_NAME}" nodejs \
&& rm "${NODEJS_TAR}" \
&& npm config set prefix "/home/node/.npm" \
&& npm i -g yarn
RUN sudo dpkg -l > /tmp/packages-before.txt \
&& sudo apt-get install -y --no-install-recommends \
python \
librdkafka-dev librdkafka++1 librdkafka1 \
libssl1.0-dev liblz4-dev libsasl2-dev \
libpthread-stubs0-dev \
gcc g++ make build-essential pkg-config \
git-core \
ca-certificates \
curl \
less \
nano \
netcat \
ssh-client \
tcpdump \
vim \
netcat \
net-tools \
libpq-dev libpq5 \
&& npm install -y -g node-gyp
RUN npm install -y -g [email protected] \
&& npm install -y -g [email protected] \
&& sudo apt-get remove -y \
gcc g++ make pkg-config xz-utils \
binutils cpp cpp-6 dpkg-dev g++-6 gcc-6 libasan3 libatomic1 \
libc-dev-bin libc6-dev libcc1-0 libcilkrts5 libdpkg-perl libgcc-6-dev \
libglib2.0-0 libgomp1 libisl15 libitm1 liblsan0 libmpc3 libmpfr4 \
libmpx2 libquadmath0 libstdc++-6-dev libtsan0 libubsan0 linux-libc-dev \
libsasl2-dev libpthread-stubs0-dev liblz4-dev \
librdkafka-dev libssl1.0-dev \
&& sudo apt-get install --no-install-recommends -y libgomp1 \
&& sudo apt-get autoremove -y \
&& sudo apt-get clean \
&& sudo dpkg -l > /tmp/packages-after.txt \
&& sudo rm -rf /var/lib/apt/lists/*
```
Quickfixed version (WIP): https://github.com/lrecknagel/node-rdkafka
Bulding [email protected] on macOS 10.14.4, Xcode 10.2 and node v12.1.0 I get:
CXX(target) Release/obj.target/node-librdkafka/src/common.o
../src/common.cc:94:46: error: no matching member function for call to 'ToString'
v8::Local<v8::String> val = parameter->ToString();
~~~~~~~~~~~^~~~~~~~
full output below:
$ npm install --save node-rdkafka
> [email protected] install /Volumes/ramdisk/tt/node_modules/node-rdkafka
> node-gyp rebuild
ACTION deps_librdkafka_gyp_librdkafka_target_configure deps/librdkafka/config.h
checking for OS or distribution... ok (osx)
checking for C compiler from CC env... failed
checking for gcc (by command)... ok
checking for C++ compiler from CXX env... failed
checking for C++ compiler (g++)... ok
checking executable ld... ok
checking executable nm... ok
checking executable objdump... ok
checking executable strip... ok
checking for debug symbols compiler flag (-g...)... ok
checking for pkgconfig (by command)... ok
checking for install (by command)... failed
checking for PIC (by compile)... ok
checking for GNU-compatible linker options... failed
checking for OSX linker options... ok
checking for GNU linker-script ld flag... failed
checking for Solaris linker-script ld flag... failed (ignore)
checking for __atomic_32 (by compile)... ok
checking for __atomic_64 (by compile)... ok
checking for socket (by compile)... ok
parsing version '0x000b05ff'... ok (0.11.5)
checking for librt (by pkg-config)... failed
checking for librt (by compile)... failed
checking for libpthread (by pkg-config)... failed
checking for libpthread (by compile)... ok
checking for libdl (by pkg-config)... failed
checking for libdl (by compile)... ok
checking for zlib (by pkg-config)... ok
checking for zlib (by compile)... ok (cached)
checking for libcrypto (by pkg-config)... ok
checking for libcrypto (by compile)... ok (cached)
checking for libm (by pkg-config)... failed
checking for libm (by compile)... ok
checking for liblz4 (by pkg-config)... failed
checking for liblz4 (by compile)... failed (disable)
checking for rapidjson (by compile)... failed (disable)
checking for libssl (by pkg-config)... ok
checking for libssl (by compile)... ok (cached)
checking for libsasl2 (by pkg-config)... failed
checking for libsasl2 (by compile)... ok
checking for crc32chw (by compile)... ok
checking for regex (by compile)... ok
checking for strndup (by compile)... ok
checking for strerror_r (by compile)... ok
checking for pthread_setname_gnu (by compile)... failed (disable)
checking for nm (by env NM)... ok (cached)
Generated Makefile.config
Generated config.h
Configuration summary:
prefix /Volumes/ramdisk/tt/node_modules/node-rdkafka/build/deps
ARCH x86_64
CPU generic
GEN_PKG_CONFIG y
ENABLE_DEVEL n
ENABLE_VALGRIND n
ENABLE_REFCNT_DEBUG n
ENABLE_SHAREDPTR_DEBUG n
ENABLE_LZ4_EXT y
ENABLE_SSL y
ENABLE_SASL y
libdir /Volumes/ramdisk/tt/node_modules/node-rdkafka/build/deps
MKL_APP_NAME librdkafka
MKL_APP_DESC_ONELINE The Apache Kafka C/C++ library
LDFLAGS -L/Volumes/ramdisk/tt/node_modules/node-rdkafka/build/deps
MKL_DISTRO osx
SOLIB_EXT .dylib
CC gcc
CXX g++
LD ld
NM nm
OBJDUMP objdump
STRIP strip
CPPFLAGS -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align
PKG_CONFIG pkg-config
INSTALL install
LIB_LDFLAGS -shared -dynamiclib -Wl,-install_name,$(DESTDIR)$(libdir)/$(LIBFILENAME)
RDKAFKA_VERSION_STR 0.11.5
MKL_APP_VERSION 0.11.5
LIBS -lsasl2 -L/usr/local/ssl/lib -lssl -lm -L/usr/local/ssl/lib -lcrypto -L/usr/local/lib -lz -ldl -lpthread
CFLAGS -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include
CXXFLAGS -Wno-non-virtual-dtor
SYMDUMPER $(NM) -g
exec_prefix /Volumes/ramdisk/tt/node_modules/node-rdkafka/build/deps
bindir /Volumes/ramdisk/tt/node_modules/node-rdkafka/build/deps/bin
sbindir /Volumes/ramdisk/tt/node_modules/node-rdkafka/build/deps/sbin
libexecdir /Volumes/ramdisk/tt/node_modules/node-rdkafka/build/deps/libexec
datadir /Volumes/ramdisk/tt/node_modules/node-rdkafka/build/deps/share
sysconfdir /Volumes/ramdisk/tt/node_modules/node-rdkafka/build/deps/etc
sharedstatedir /Volumes/ramdisk/tt/node_modules/node-rdkafka/build/deps/com
localstatedir /Volumes/ramdisk/tt/node_modules/node-rdkafka/build/deps/var
includedir /Volumes/ramdisk/tt/node_modules/node-rdkafka/build/deps/include
infodir /Volumes/ramdisk/tt/node_modules/node-rdkafka/build/deps/info
mandir /Volumes/ramdisk/tt/node_modules/node-rdkafka/build/deps/man
Generated config.cache
Now type 'make' to build
TOUCH 11a9e3388a67e1ca5c31c1d8da49cb6d2714eb41.intermediate
ACTION deps_librdkafka_gyp_librdkafka_target_build_dependencies 11a9e3388a67e1ca5c31c1d8da49cb6d2714eb41.intermediate
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -c rdkafka.c -o rdkafka.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -c rdkafka_broker.c -o rdkafka_broker.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -c rdkafka_msg.c -o rdkafka_msg.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -c rdkafka_topic.c -o rdkafka_topic.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -c rdkafka_conf.c -o rdkafka_conf.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -c rdkafka_timer.c -o rdkafka_timer.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -c rdkafka_offset.c -o rdkafka_offset.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -c rdkafka_transport.c -o rdkafka_transport.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -c rdkafka_buf.c -o rdkafka_buf.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -c rdkafka_queue.c -o rdkafka_queue.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -c rdkafka_op.c -o rdkafka_op.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -c rdkafka_request.c -o rdkafka_request.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -c rdkafka_cgrp.c -o rdkafka_cgrp.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -c rdkafka_pattern.c -o rdkafka_pattern.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -c rdkafka_partition.c -o rdkafka_partition.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -c rdkafka_subscription.c -o rdkafka_subscription.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -c rdkafka_assignor.c -o rdkafka_assignor.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -c rdkafka_range_assignor.c -o rdkafka_range_assignor.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -c rdkafka_roundrobin_assignor.c -o rdkafka_roundrobin_assignor.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -c rdkafka_feature.c -o rdkafka_feature.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -c rdcrc32.c -o rdcrc32.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -c crc32c.c -o crc32c.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -c rdmurmur2.c -o rdmurmur2.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -c rdaddr.c -o rdaddr.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -c rdrand.c -o rdrand.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -c rdlist.c -o rdlist.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -c tinycthread.c -o tinycthread.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -c rdlog.c -o rdlog.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -c rdstring.c -o rdstring.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -c rdkafka_event.c -o rdkafka_event.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -c rdkafka_metadata.c -o rdkafka_metadata.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -c rdregex.c -o rdregex.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -c rdports.c -o rdports.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -c rdkafka_metadata_cache.c -o rdkafka_metadata_cache.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -c rdavl.c -o rdavl.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -c rdkafka_sasl.c -o rdkafka_sasl.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -c rdkafka_sasl_plain.c -o rdkafka_sasl_plain.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -c rdkafka_interceptor.c -o rdkafka_interceptor.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -c rdkafka_msgset_writer.c -o rdkafka_msgset_writer.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -c rdkafka_msgset_reader.c -o rdkafka_msgset_reader.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -c rdkafka_header.c -o rdkafka_header.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -c rdkafka_admin.c -o rdkafka_admin.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -c rdkafka_aux.c -o rdkafka_aux.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -c rdkafka_background.c -o rdkafka_background.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -c rdvarint.c -o rdvarint.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -c rdbuf.c -o rdbuf.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -c rdunittest.c -o rdunittest.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -c rdkafka_sasl_cyrus.c -o rdkafka_sasl_cyrus.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -c rdkafka_sasl_scram.c -o rdkafka_sasl_scram.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -c snappy.c -o snappy.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -c rdgz.c -o rdgz.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -c rdhdrhistogram.c -o rdhdrhistogram.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -c rdkafka_lz4.c -o rdkafka_lz4.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -O3 -c xxhash.c -o xxhash.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -O3 -c lz4.c -o lz4.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -O3 -c lz4frame.c -o lz4frame.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -O3 -c lz4hc.c -o lz4hc.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -c rddl.c -o rddl.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include -c rdkafka_plugin.c -o rdkafka_plugin.o
Creating shared library librdkafka.1.dylib
gcc -L/Volumes/ramdisk/tt/node_modules/node-rdkafka/build/deps -shared -dynamiclib -Wl,-install_name,/Volumes/ramdisk/tt/node_modules/node-rdkafka/build/deps/librdkafka.1.dylib rdkafka.o rdkafka_broker.o rdkafka_msg.o rdkafka_topic.o rdkafka_conf.o rdkafka_timer.o rdkafka_offset.o rdkafka_transport.o rdkafka_buf.o rdkafka_queue.o rdkafka_op.o rdkafka_request.o rdkafka_cgrp.o rdkafka_pattern.o rdkafka_partition.o rdkafka_subscription.o rdkafka_assignor.o rdkafka_range_assignor.o rdkafka_roundrobin_assignor.o rdkafka_feature.o rdcrc32.o crc32c.o rdmurmur2.o rdaddr.o rdrand.o rdlist.o tinycthread.o rdlog.o rdstring.o rdkafka_event.o rdkafka_metadata.o rdregex.o rdports.o rdkafka_metadata_cache.o rdavl.o rdkafka_sasl.o rdkafka_sasl_plain.o rdkafka_interceptor.o rdkafka_msgset_writer.o rdkafka_msgset_reader.o rdkafka_header.o rdkafka_admin.o rdkafka_aux.o rdkafka_background.o rdvarint.o rdbuf.o rdunittest.o rdkafka_sasl_cyrus.o rdkafka_sasl_scram.o snappy.o rdgz.o rdhdrhistogram.o rdkafka_lz4.o xxhash.o lz4.o lz4frame.o lz4hc.o rddl.o rdkafka_plugin.o -o librdkafka.1.dylib -lsasl2 -L/usr/local/ssl/lib -lssl -lm -L/usr/local/ssl/lib -lcrypto -L/usr/local/lib -lz -ldl -lpthread
Creating static library librdkafka.a
ar rcs librdkafka.a rdkafka.o rdkafka_broker.o rdkafka_msg.o rdkafka_topic.o rdkafka_conf.o rdkafka_timer.o rdkafka_offset.o rdkafka_transport.o rdkafka_buf.o rdkafka_queue.o rdkafka_op.o rdkafka_request.o rdkafka_cgrp.o rdkafka_pattern.o rdkafka_partition.o rdkafka_subscription.o rdkafka_assignor.o rdkafka_range_assignor.o rdkafka_roundrobin_assignor.o rdkafka_feature.o rdcrc32.o crc32c.o rdmurmur2.o rdaddr.o rdrand.o rdlist.o tinycthread.o rdlog.o rdstring.o rdkafka_event.o rdkafka_metadata.o rdregex.o rdports.o rdkafka_metadata_cache.o rdavl.o rdkafka_sasl.o rdkafka_sasl_plain.o rdkafka_interceptor.o rdkafka_msgset_writer.o rdkafka_msgset_reader.o rdkafka_header.o rdkafka_admin.o rdkafka_aux.o rdkafka_background.o rdvarint.o rdbuf.o rdunittest.o rdkafka_sasl_cyrus.o rdkafka_sasl_scram.o snappy.o rdgz.o rdhdrhistogram.o rdkafka_lz4.o xxhash.o lz4.o lz4frame.o lz4hc.o rddl.o rdkafka_plugin.o
Creating librdkafka.dylib symlink
rm -f "librdkafka.dylib" && ln -s "librdkafka.1.dylib" "librdkafka.dylib"
Generating pkg-config file rdkafka.pc
Generating pkg-config file rdkafka-static.pc
Checking librdkafka integrity
librdkafka.1.dylib OK
librdkafka.a OK
Symbol visibility OK
g++ -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -Wno-non-virtual-dtor -c RdKafka.cpp -o RdKafka.o
g++ -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -Wno-non-virtual-dtor -c ConfImpl.cpp -o ConfImpl.o
g++ -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -Wno-non-virtual-dtor -c HandleImpl.cpp -o HandleImpl.o
g++ -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -Wno-non-virtual-dtor -c ConsumerImpl.cpp -o ConsumerImpl.o
g++ -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -Wno-non-virtual-dtor -c ProducerImpl.cpp -o ProducerImpl.o
g++ -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -Wno-non-virtual-dtor -c KafkaConsumerImpl.cpp -o KafkaConsumerImpl.o
g++ -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -Wno-non-virtual-dtor -c TopicImpl.cpp -o TopicImpl.o
g++ -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -Wno-non-virtual-dtor -c TopicPartitionImpl.cpp -o TopicPartitionImpl.o
g++ -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -Wno-non-virtual-dtor -c MessageImpl.cpp -o MessageImpl.o
g++ -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -Wno-non-virtual-dtor -c QueueImpl.cpp -o QueueImpl.o
g++ -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -Wno-non-virtual-dtor -c MetadataImpl.cpp -o MetadataImpl.o
Creating shared library librdkafka++.1.dylib
gcc -L/Volumes/ramdisk/tt/node_modules/node-rdkafka/build/deps -shared -dynamiclib -Wl,-install_name,/Volumes/ramdisk/tt/node_modules/node-rdkafka/build/deps/librdkafka++.1.dylib RdKafka.o ConfImpl.o HandleImpl.o ConsumerImpl.o ProducerImpl.o KafkaConsumerImpl.o TopicImpl.o TopicPartitionImpl.o MessageImpl.o QueueImpl.o MetadataImpl.o -o librdkafka++.1.dylib -L../src -lrdkafka -lstdc++
Creating static library librdkafka++.a
ar rcs librdkafka++.a RdKafka.o ConfImpl.o HandleImpl.o ConsumerImpl.o ProducerImpl.o KafkaConsumerImpl.o TopicImpl.o TopicPartitionImpl.o MessageImpl.o QueueImpl.o MetadataImpl.o
Creating librdkafka++.dylib symlink
rm -f "librdkafka++.dylib" && ln -s "librdkafka++.1.dylib" "librdkafka++.dylib"
Generating pkg-config file rdkafka++.pc
Generating pkg-config file rdkafka++-static.pc
Checking librdkafka++ integrity
librdkafka++.1.dylib OK
librdkafka++.a OK
Install librdkafka to /Volumes/ramdisk/tt/node_modules/node-rdkafka/build/deps
install -d $DESTDIR/Volumes/ramdisk/tt/node_modules/node-rdkafka/build/deps/include/librdkafka ; \
install -d $DESTDIR/Volumes/ramdisk/tt/node_modules/node-rdkafka/build/deps ; \
install rdkafka.h $DESTDIR/Volumes/ramdisk/tt/node_modules/node-rdkafka/build/deps/include/librdkafka ; \
install librdkafka.a $DESTDIR/Volumes/ramdisk/tt/node_modules/node-rdkafka/build/deps ; \
install librdkafka.1.dylib $DESTDIR/Volumes/ramdisk/tt/node_modules/node-rdkafka/build/deps ; \
[ -f "rdkafka.pc" ] && ( \
install -d $DESTDIR/Volumes/ramdisk/tt/node_modules/node-rdkafka/build/deps/pkgconfig ; \
install -m 0644 rdkafka.pc $DESTDIR/Volumes/ramdisk/tt/node_modules/node-rdkafka/build/deps/pkgconfig \
) ; \
[ -f "rdkafka-static.pc" ] && ( \
install -d $DESTDIR/Volumes/ramdisk/tt/node_modules/node-rdkafka/build/deps/pkgconfig ; \
install -m 0644 rdkafka-static.pc $DESTDIR/Volumes/ramdisk/tt/node_modules/node-rdkafka/build/deps/pkgconfig \
) ; \
(cd $DESTDIR/Volumes/ramdisk/tt/node_modules/node-rdkafka/build/deps && ln -sf librdkafka.1.dylib librdkafka.dylib)
Install librdkafka++ to /Volumes/ramdisk/tt/node_modules/node-rdkafka/build/deps
install -d $DESTDIR/Volumes/ramdisk/tt/node_modules/node-rdkafka/build/deps/include/librdkafka ; \
install -d $DESTDIR/Volumes/ramdisk/tt/node_modules/node-rdkafka/build/deps ; \
install rdkafkacpp.h $DESTDIR/Volumes/ramdisk/tt/node_modules/node-rdkafka/build/deps/include/librdkafka ; \
install librdkafka++.a $DESTDIR/Volumes/ramdisk/tt/node_modules/node-rdkafka/build/deps ; \
install librdkafka++.1.dylib $DESTDIR/Volumes/ramdisk/tt/node_modules/node-rdkafka/build/deps ; \
[ -f "rdkafka++.pc" ] && ( \
install -d $DESTDIR/Volumes/ramdisk/tt/node_modules/node-rdkafka/build/deps/pkgconfig ; \
install -m 0644 rdkafka++.pc $DESTDIR/Volumes/ramdisk/tt/node_modules/node-rdkafka/build/deps/pkgconfig \
) ; \
[ -f "rdkafka++-static.pc" ] && ( \
install -d $DESTDIR/Volumes/ramdisk/tt/node_modules/node-rdkafka/build/deps/pkgconfig ; \
install -m 0644 rdkafka++-static.pc $DESTDIR/Volumes/ramdisk/tt/node_modules/node-rdkafka/build/deps/pkgconfig \
) ; \
(cd $DESTDIR/Volumes/ramdisk/tt/node_modules/node-rdkafka/build/deps && ln -sf librdkafka++.1.dylib librdkafka++.dylib)
TOUCH Release/obj.target/deps/librdkafka.stamp
CXX(target) Release/obj.target/node-librdkafka/src/binding.o
../src/binding.cc:134:12: warning: 'Set' is deprecated: Use maybe version [-Wdeprecated-declarations]
exports->Set(Nan::New("errorCodes").ToLocalChecked(), errorCodes);
^
/Users/mariogrgic/.node-gyp/12.1.0/include/node/v8.h:3358:3: note: 'Set' has been explicitly marked deprecated here
V8_DEPRECATE_SOON("Use maybe version",
^
/Users/mariogrgic/.node-gyp/12.1.0/include/node/v8config.h:322:29: note: expanded from macro 'V8_DEPRECATE_SOON'
declarator __attribute__((deprecated(message)))
^
../src/binding.cc:145:12: warning: 'Set' is deprecated: Use maybe version [-Wdeprecated-declarations]
exports->Set(Nan::New("topic").ToLocalChecked(), topicConstants);
^
/Users/mariogrgic/.node-gyp/12.1.0/include/node/v8.h:3358:3: note: 'Set' has been explicitly marked deprecated here
V8_DEPRECATE_SOON("Use maybe version",
^
/Users/mariogrgic/.node-gyp/12.1.0/include/node/v8config.h:322:29: note: expanded from macro 'V8_DEPRECATE_SOON'
declarator __attribute__((deprecated(message)))
^
../src/binding.cc:147:12: warning: 'Set' is deprecated: Use maybe version [-Wdeprecated-declarations]
exports->Set(Nan::New("err2str").ToLocalChecked(),
^
/Users/mariogrgic/.node-gyp/12.1.0/include/node/v8.h:3358:3: note: 'Set' has been explicitly marked deprecated here
V8_DEPRECATE_SOON("Use maybe version",
^
/Users/mariogrgic/.node-gyp/12.1.0/include/node/v8config.h:322:29: note: expanded from macro 'V8_DEPRECATE_SOON'
declarator __attribute__((deprecated(message)))
^
../src/binding.cc:150:12: warning: 'Set' is deprecated: Use maybe version [-Wdeprecated-declarations]
exports->Set(Nan::New("features").ToLocalChecked(),
^
/Users/mariogrgic/.node-gyp/12.1.0/include/node/v8.h:3358:3: note: 'Set' has been explicitly marked deprecated here
V8_DEPRECATE_SOON("Use maybe version",
^
/Users/mariogrgic/.node-gyp/12.1.0/include/node/v8config.h:322:29: note: expanded from macro 'V8_DEPRECATE_SOON'
declarator __attribute__((deprecated(message)))
^
../src/binding.cc:162:12: warning: 'Set' is deprecated: Use maybe version [-Wdeprecated-declarations]
exports->Set(Nan::New("librdkafkaVersion").ToLocalChecked(),
^
/Users/mariogrgic/.node-gyp/12.1.0/include/node/v8.h:3358:3: note: 'Set' has been explicitly marked deprecated here
V8_DEPRECATE_SOON("Use maybe version",
^
/Users/mariogrgic/.node-gyp/12.1.0/include/node/v8config.h:322:29: note: expanded from macro 'V8_DEPRECATE_SOON'
declarator __attribute__((deprecated(message)))
^
5 warnings generated.
CXX(target) Release/obj.target/node-librdkafka/src/callbacks.o
../src/callbacks.cc:45:15: warning: 'Set' is deprecated: Use maybe version [-Wdeprecated-declarations]
tp_array->Set(i, tp_obj);
^
/Users/mariogrgic/.node-gyp/12.1.0/include/node/v8.h:3367:3: note: 'Set' has been explicitly marked deprecated here
V8_DEPRECATE_SOON("Use maybe version",
^
/Users/mariogrgic/.node-gyp/12.1.0/include/node/v8config.h:322:29: note: expanded from macro 'V8_DEPRECATE_SOON'
declarator __attribute__((deprecated(message)))
^
../src/callbacks.cc:103:8: warning: 'Call' is deprecated [-Wdeprecated-declarations]
cb.Call(_argc, _argv);
^
../../nan/nan.h:1673:3: note: 'Call' has been explicitly marked deprecated here
NAN_DEPRECATED inline v8::Local<v8::Value>
^
../../nan/nan.h:103:40: note: expanded from macro 'NAN_DEPRECATED'
# define NAN_DEPRECATED __attribute__((deprecated))
^
../src/callbacks.cc:575:48: warning: 'Call' is deprecated [-Wdeprecated-declarations]
v8::Local<v8::Value> return_value = callback.Call(3, argv);
^
../../nan/nan.h:1673:3: note: 'Call' has been explicitly marked deprecated here
NAN_DEPRECATED inline v8::Local<v8::Value>
^
../../nan/nan.h:103:40: note: expanded from macro 'NAN_DEPRECATED'
# define NAN_DEPRECATED __attribute__((deprecated))
^
../src/callbacks.cc:612:11: warning: 'operator()' is deprecated [-Wdeprecated-declarations]
callback(cb);
^
../../nan/nan.h:1572:3: note: 'operator()' has been explicitly marked deprecated here
NAN_DEPRECATED inline v8::Local<v8::Value> operator()(
^
../../nan/nan.h:103:40: note: expanded from macro 'NAN_DEPRECATED'
# define NAN_DEPRECATED __attribute__((deprecated))
^
4 warnings generated.
CXX(target) Release/obj.target/node-librdkafka/src/common.o
../src/common.cc:94:46: error: no matching member function for call to 'ToString'
v8::Local<v8::String> val = parameter->ToString();
~~~~~~~~~~~^~~~~~~~
/Users/mariogrgic/.node-gyp/12.1.0/include/node/v8.h:2528:44: note: candidate function not viable: requires single
argument 'context', but no arguments were provided
V8_WARN_UNUSED_RESULT MaybeLocal<String> ToString(
^
/Users/mariogrgic/.node-gyp/12.1.0/include/node/v8.h:2544:35: note: candidate function not viable: requires single
argument 'isolate', but no arguments were provided
Local<String> ToString(Isolate* isolate) const);
^
../src/common.cc:128:70: warning: 'Get' is deprecated: Use maybe version [-Wdeprecated-declarations]
Nan::MaybeLocal<v8::String> p = Nan::To<v8::String>(parameter->Get(i));
^
/Users/mariogrgic/.node-gyp/12.1.0/include/node/v8.h:3416:3: note: 'Get' has been explicitly marked deprecated here
V8_DEPRECATE_SOON("Use maybe version", Local<Value> Get(uint32_t index));
^
/Users/mariogrgic/.node-gyp/12.1.0/include/node/v8config.h:322:29: note: expanded from macro 'V8_DEPRECATE_SOON'
declarator __attribute__((deprecated(message)))
^
../src/common.cc:148:49: warning: 'Get' is deprecated: Use maybe version [-Wdeprecated-declarations]
v8::Local<v8::Value> element = parameter->Get(i);
^
/Users/mariogrgic/.node-gyp/12.1.0/include/node/v8.h:3416:3: note: 'Get' has been explicitly marked deprecated here
V8_DEPRECATE_SOON("Use maybe version", Local<Value> Get(uint32_t index));
^
/Users/mariogrgic/.node-gyp/12.1.0/include/node/v8config.h:322:29: note: expanded from macro 'V8_DEPRECATE_SOON'
declarator __attribute__((deprecated(message)))
^
../src/common.cc:181:14: warning: 'Set' is deprecated: Use maybe version [-Wdeprecated-declarations]
newItem->Set(i, Nan::New<v8::String>(topic).ToLocalChecked());
^
/Users/mariogrgic/.node-gyp/12.1.0/include/node/v8.h:3367:3: note: 'Set' has been explicitly marked deprecated here
V8_DEPRECATE_SOON("Use maybe version",
^
/Users/mariogrgic/.node-gyp/12.1.0/include/node/v8config.h:322:29: note: expanded from macro 'V8_DEPRECATE_SOON'
declarator __attribute__((deprecated(message)))
^
../src/common.cc:205:14: warning: 'Set' is deprecated: Use maybe version [-Wdeprecated-declarations]
array->Set(topic_partition_i,
^
/Users/mariogrgic/.node-gyp/12.1.0/include/node/v8.h:3367:3: note: 'Set' has been explicitly marked deprecated here
V8_DEPRECATE_SOON("Use maybe version",
^
/Users/mariogrgic/.node-gyp/12.1.0/include/node/v8config.h:322:29: note: expanded from macro 'V8_DEPRECATE_SOON'
declarator __attribute__((deprecated(message)))
^
../src/common.cc:222:14: warning: 'Set' is deprecated: Use maybe version [-Wdeprecated-declarations]
array->Set(topic_partition_i, obj);
^
/Users/mariogrgic/.node-gyp/12.1.0/include/node/v8.h:3367:3: note: 'Set' has been explicitly marked deprecated here
V8_DEPRECATE_SOON("Use maybe version",
^
/Users/mariogrgic/.node-gyp/12.1.0/include/node/v8config.h:322:29: note: expanded from macro 'V8_DEPRECATE_SOON'
declarator __attribute__((deprecated(message)))
^
../src/common.cc:246:29: warning: 'Get' is deprecated: Use maybe version [-Wdeprecated-declarations]
topic_partition_list->Get(topic_partition_i);
^
/Users/mariogrgic/.node-gyp/12.1.0/include/node/v8.h:3416:3: note: 'Get' has been explicitly marked deprecated here
V8_DEPRECATE_SOON("Use maybe version", Local<Value> Get(uint32_t index));
^
/Users/mariogrgic/.node-gyp/12.1.0/include/node/v8config.h:322:29: note: expanded from macro 'V8_DEPRECATE_SOON'
declarator __attribute__((deprecated(message)))
^
../src/common.cc:310:18: warning: 'Set' is deprecated: Use maybe version [-Wdeprecated-declarations]
broker_data->Set(broker_i, current_broker);
^
/Users/mariogrgic/.node-gyp/12.1.0/include/node/v8.h:3367:3: note: 'Set' has been explicitly marked deprecated here
V8_DEPRECATE_SOON("Use maybe version",
^
/Users/mariogrgic/.node-gyp/12.1.0/include/node/v8config.h:322:29: note: expanded from macro 'V8_DEPRECATE_SOON'
declarator __attribute__((deprecated(message)))
^
../src/common.cc:359:27: warning: 'Set' is deprecated: Use maybe version [-Wdeprecated-declarations]
current_replicas->Set(r_i, Nan::New<v8::Int32>(*r_it));
^
/Users/mariogrgic/.node-gyp/12.1.0/include/node/v8.h:3367:3: note: 'Set' has been explicitly marked deprecated here
V8_DEPRECATE_SOON("Use maybe version",
^
/Users/mariogrgic/.node-gyp/12.1.0/include/node/v8config.h:322:29: note: expanded from macro 'V8_DEPRECATE_SOON'
declarator __attribute__((deprecated(message)))
^
../src/common.cc:365:23: warning: 'Set' is deprecated: Use maybe version [-Wdeprecated-declarations]
current_isrs->Set(i_i, Nan::New<v8::Int32>(*i_it));
^
/Users/mariogrgic/.node-gyp/12.1.0/include/node/v8.h:3367:3: note: 'Set' has been explicitly marked deprecated here
V8_DEPRECATE_SOON("Use maybe version",
^
/Users/mariogrgic/.node-gyp/12.1.0/include/node/v8config.h:322:29: note: expanded from macro 'V8_DEPRECATE_SOON'
declarator __attribute__((deprecated(message)))
^
../src/common.cc:373:33: warning: 'Set' is deprecated: Use maybe version [-Wdeprecated-declarations]
current_topic_partitions->Set(partition_i, current_partition);
^
/Users/mariogrgic/.node-gyp/12.1.0/include/node/v8.h:3367:3: note: 'Set' has been explicitly marked deprecated here
V8_DEPRECATE_SOON("Use maybe version",
^
/Users/mariogrgic/.node-gyp/12.1.0/include/node/v8config.h:322:29: note: expanded from macro 'V8_DEPRECATE_SOON'
declarator __attribute__((deprecated(message)))
^
../src/common.cc:379:17: warning: 'Set' is deprecated: Use maybe version [-Wdeprecated-declarations]
topic_data->Set(topic_i, current_topic);
^
/Users/mariogrgic/.node-gyp/12.1.0/include/node/v8.h:3367:3: note: 'Set' has been explicitly marked deprecated here
V8_DEPRECATE_SOON("Use maybe version",
^
/Users/mariogrgic/.node-gyp/12.1.0/include/node/v8config.h:322:29: note: expanded from macro 'V8_DEPRECATE_SOON'
declarator __attribute__((deprecated(message)))
^
../src/common.cc:501:57: warning: 'Get' is deprecated: Use maybe version [-Wdeprecated-declarations]
v8::Local<v8::String> config_key = field_array->Get(i).As<v8::String>();
^
/Users/mariogrgic/.node-gyp/12.1.0/include/node/v8.h:3416:3: note: 'Get' has been explicitly marked deprecated here
V8_DEPRECATE_SOON("Use maybe version", Local<Value> Get(uint32_t index));
^
/Users/mariogrgic/.node-gyp/12.1.0/include/node/v8config.h:322:29: note: expanded from macro 'V8_DEPRECATE_SOON'
declarator __attribute__((deprecated(message)))
^
../src/common.cc:516:19: warning: comparison of two values with different enumeration types ('rd_kafka_resp_err_t' and
'RdKafka::ErrorCode') [-Wenum-compare]
if (err != RdKafka::ERR_NO_ERROR) {
~~~ ^ ~~~~~~~~~~~~~~~~~~~~~
13 warnings and 1 error generated.
make: *** [Release/obj.target/node-librdkafka/src/common.o] Error 1
rm 11a9e3388a67e1ca5c31c1d8da49cb6d2714eb41.intermediate
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/Users/mariogrgic/build/node-v12.1.0-darwin-x64/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:262:23)
gyp ERR! stack at ChildProcess.emit (events.js:196:13)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:256:12)
gyp ERR! System Darwin 18.5.0
gyp ERR! command "/Users/mariogrgic/build/node-v12.1.0-darwin-x64/bin/node" "/Users/mariogrgic/build/node-v12.1.0-darwin-x64/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Volumes/ramdisk/tt/node_modules/node-rdkafka
gyp ERR! node -v v12.1.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
npm WARN [email protected] No description
npm WARN [email protected] No repository field.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/mariogrgic/.npm/_logs/2019-05-07T17_45_40_182Z-debug.log
@lrecknagel when I try to install your branch with
npm install -y -g --unsafe-perm https://github.com/lrecknagel/node-rdkafka/tarball/node12Support
On Node.js 12.3.1 and gyp 4.0.0 or 3.8.0 (otherwise the same setup as in the Dockerfile above), I get
```> [email protected] install /usr/lib/node_modules/node-rdkafka
node-gyp rebuild
make: Entering directory '/usr/lib/node_modules/node-rdkafka/build'
ACTION deps_librdkafka_gyp_librdkafka_target_configure deps/librdkafka/config.h
./configure: line 13: ./configure: No such file or directory
make: Leaving directory '/usr/lib/node_modules/node-rdkafka/build'
make: * No rule to make target '../deps/librdkafka/config.h', needed by '11a9e3388a67e1ca5c31c1d8da49cb6d2714eb41.intermediate'. Stop.
gyp ERR! build error
gyp ERR! stack Error: make failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:262:23)
gyp ERR! stack at ChildProcess.emit (events.js:200:13)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12)
gyp ERR! System Linux 4.14.88-coreos
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /usr/lib/node_modules/node-rdkafka
gyp ERR! node -v v12.3.1
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: node-gyp rebuild
npm ERR! Exit status 1
```
Hi @analytik , could it possibly that you didnt do git submodule init && git submodule update within the project to get librdkafka, because thats needed for building it from sources. Please correct me if I get something wrong.
Ah! Thank you, I didn't know that's needed when installing from the git repo. It helped, the build succeeded, and a quick test seems to be working. There's a bunch of deprecation warnings during the build, but I guess this isn't anything new, e.g.
/root/.node-gyp/12.3.1/include/node/v8.h:3359:26: note: declared here
bool Set(Local<Value> key, Local<Value> value));
^
/root/.node-gyp/12.3.1/include/node/v8config.h:322:3: note: in definition of macro ‘V8_DEPRECATE_SOON’
declarator __attribute__((deprecated(message)))
^~~~~~~~~~
CXX(target) Release/obj.target/node-librdkafka/src/kafka-consumer.o
Thanks again! Hope this can be merged soon ^_^
I ran git submodule init && git submodule update && npm install but still get the same error as above.
Also fails after running npm install -y -g --unsafe-perm https://github.com/lrecknagel/node-rdkafka/tarball/node12Support
make: Entering directory '/home/pim/.nvm/versions/node/v12.10.0/lib/node_modules/node-rdkafka/build'
ACTION deps_librdkafka_gyp_librdkafka_target_configure deps/librdkafka/config.h
./configure: line 13: ./configure: No such file or directory
make: *** No rule to make target '../deps/librdkafka/config.h', needed by '11a9e3388a67e1ca5c31c1d8da49cb6d2714eb41.intermediate'. Stop.
make: Leaving directory '/home/pim/.nvm/versions/node/v12.10.0/lib/node_modules/node-rdkafka/build'
running into this issue myself and not having much luck with the submodule instructions.
This might help someone:
FROM debian:stretch
ENV LC_ALL=C.UTF-8
ENV TERM=xterm
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
curl \
less \
nano \
procps \
sudo \
xz-utils \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
RUN groupadd --gid 1000 node \
&& useradd --uid 1000 --gid node --shell /bin/bash --create-home node
RUN echo "node ALL=(ALL) NOPASSWD:/usr/bin/apt-get,/usr/bin/dpkg,/bin/rm" >> /etc/sudoers
WORKDIR /project
RUN chown -R node:node /project
USER node
ENV NODE_VERSION=12.13.0
ENV PATH="${PATH}:/home/node/.npm/bin:/home/node/nodejs/bin"
ENV NODE_PATH="/project:/home/node/nodejs/lib/node_modules"
ENV CXXFLAGS="-Wno-deprecated-declarations"
RUN NODEJS_NAME="node-v${NODE_VERSION}-linux-x64" \
&& NODEJS_TAR="${NODEJS_NAME}.tar.xz" \
&& cd /home/node \
&& curl "https://nodejs.org/dist/v${NODE_VERSION}/${NODEJS_NAME}.tar.xz" -o "/home/node/${NODEJS_TAR}" \
&& tar xf ${NODEJS_TAR} \
&& mv "${NODEJS_NAME}" nodejs \
&& rm "${NODEJS_TAR}" \
&& sudo apt-get update \
&& sudo apt-get install -y --no-install-recommends \
libssl1.0-dev liblz4-dev libsasl2-dev \
libpthread-stubs0-dev \
gcc g++ make build-essential pkg-config \
git-core \
ca-certificates \
curl \
less \
mc \
nano \
netcat \
python \
ssh-client \
tcpdump \
vim \
netcat \
net-tools \
&& npm install -y -g yarn nodemon node-gyp \
&& cd /home/node \
&& git clone https://github.com/analytik/node-rdkafka.git --single-branch -b pr/update-librdkafka-1.1.0 \
&& cd /home/node/node-rdkafka \
&& git submodule init && git submodule update \
&& npm install -y -g /home/node/node-rdkafka \
&& sudo apt-get remove -y \
gcc g++ make pkg-config xz-utils \
binutils cpp cpp-6 dpkg-dev g++-6 gcc-6 libasan3 libatomic1 \
libc-dev-bin libc6-dev libcc1-0 libcilkrts5 libdpkg-perl libgcc-6-dev \
libglib2.0-0 libgomp1 libisl15 libitm1 liblsan0 libmpc3 libmpfr4 \
libmpx2 libquadmath0 libstdc++-6-dev libtsan0 libubsan0 linux-libc-dev \
libsasl2-dev libpthread-stubs0-dev liblz4-dev \
librdkafka-dev libssl1.0-dev \
python \
&& sudo apt-get install --no-install-recommends -y libgomp1 \
&& sudo apt-get autoremove -y \
&& sudo apt-get clean \
&& sudo rm -rf /var/lib/apt/lists/* /home/node/node-rdkafka/deps
It's from my own hacky branch that I don't plan to upkeep, but it works.
@analytik this Dockerfile worked fine for us with Node 8, but currently we're experiencing issues with Node 12.13.
FROM node:12.13-slim
ENV NO_UPDATE_NOTIFIER true
# Install image packages.
RUN apt-get update -qqy \
&& apt-get install -y --no-install-recommends build-essential e2fsprogs python libssl1.0-dev liblz4-dev libpthread-stubs0-dev libsasl2-dev libsasl2-modules ca-certificates \
&& apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /var/cache/apt/*
@IdanAdar were you able to get node-rdkafka to work with Node 12?
Hi, sorry for the late reply, I somehow overlooked the notification.
We have mostly migrated to Kafka.js, but still have working node10/12 images with node-rdkafka (the rest of the Dockerfile remains as above):
RUN NODEJS_NAME="node-v${NODE_VERSION}-linux-x64" \
&& NODEJS_TAR="${NODEJS_NAME}.tar.xz" \
&& cd /home/node \
&& curl "https://nodejs.org/dist/v${NODE_VERSION}/${NODEJS_NAME}.tar.xz" -o "/home/node/${NODEJS_TAR}" \
&& tar xf ${NODEJS_TAR} \
&& mv "${NODEJS_NAME}" nodejs \
&& rm "${NODEJS_TAR}" \
&& sudo apt-get update \
&& sudo apt-get install -y --no-install-recommends \
libssl1.0-dev liblz4-dev libsasl2-dev \
libpthread-stubs0-dev \
gcc g++ make build-essential pkg-config \
ca-certificates \
python \
ssh-client \
&& npm install -y -g yarn nodemon node-gyp \
&& npm install -y -g [email protected] \
&& sudo apt-get remove -y \
gcc g++ make pkg-config xz-utils \
binutils cpp cpp-6 dpkg-dev g++-6 gcc-6 libasan3 libatomic1 \
libc-dev-bin libc6-dev libcc1-0 libcilkrts5 libdpkg-perl libgcc-6-dev \
libglib2.0-0 libgomp1 libisl15 libitm1 liblsan0 libmpc3 libmpfr4 \
libmpx2 libquadmath0 libstdc++-6-dev libtsan0 libubsan0 linux-libc-dev \
libsasl2-dev libpthread-stubs0-dev liblz4-dev \
librdkafka-dev libssl1.0-dev \
python \
&& sudo apt-get install --no-install-recommends -y libgomp1 \
&& sudo apt-get autoremove -y \
&& sudo apt-get clean \
&& sudo rm -rf /var/lib/apt/lists/* /home/node/node-rdkafka/deps
@IdanAdar - I assume you found a solution since then, but for posterity, yes, I think your example should work in general. At least with the latest version of node-rdkafka. As you could see, my previous Dockerfile build used a personal fork which awkwardly fixed Node 12 compatibility, so if you tried to install from official version 2.7.1 at that time, it would have never worked. If it still didn't work with 2.7.4 or higher, then a package might have been missing, depending on what was in the base image. Can't tell without an error message.
Just as a learning opportunity for others, the way you build that image, it bloats the image with build packages, which generally amount to 200-350MB. It's not a huge issue, but a good policy is to keep images slim, and install and uninstall build requirements in one step. This in turn requires node-rdkafka to be installed as a global package, which has its own issues, so... no perfect solution.
Most helpful comment
Quickfixed version (WIP): https://github.com/lrecknagel/node-rdkafka