Docker-node: not able install node-rdkafka module

Created on 11 Oct 2017  路  2Comments  路  Source: nodejs/docker-node

Hi there, I want to build a docker image for my node application. Below is the dockerfile content

FROM node:boron
WORKDIR /usr/src/app
# Install app dependencies
COPY package.json .
RUN npm install
#Run container init shell script
#COPY env.sh /etc/profile.d/awsenv.sh
# Bundle app source
COPY . .
CMD ["npm", "start"]

When i run the docker build -t app . i got the following error

../deps/librdkafka/src/rdkafka_sasl.c: In function 'rd_kafka_sasl_io_event':
../deps/librdkafka/src/rdkafka_sasl.c:129:23: error: 'rd_kafka_transport_t' has no member named 'rktrans_sasl'
         return rktrans->rktrans_sasl.recv(rktrans,
                       ^
In file included from /usr/include/string.h:635:0,
                 from ../deps/librdkafka/src/rd.h:45,
                 from ../deps/librdkafka/src/rdkafka_int.h:44,
                 from ../deps/librdkafka/src/rdkafka_sasl.c:29:
../deps/librdkafka/src/rdkafka_sasl.c: In function 'rd_kafka_sasl_client_new':
../deps/librdkafka/src/rdkafka_sasl.c:157:32: error: 'rd_kafka_conf_t' has no member named 'sasl'
         if (!strcmp(rk->rk_conf.sasl.mechanisms, "GSSAPI")) {
                                ^
../deps/librdkafka/src/rdkafka_sasl.c:157:32: error: 'rd_kafka_conf_t' has no member named 'sasl'
         if (!strcmp(rk->rk_conf.sasl.mechanisms, "GSSAPI")) {
                                ^
../deps/librdkafka/src/rdkafka_sasl.c:157:32: error: 'rd_kafka_conf_t' has no member named 'sasl'
         if (!strcmp(rk->rk_conf.sasl.mechanisms, "GSSAPI")) {
                                ^
../deps/librdkafka/src/rdkafka_sasl.c:157:32: error: 'rd_kafka_conf_t' has no member named 'sasl'
         if (!strcmp(rk->rk_conf.sasl.mechanisms, "GSSAPI")) {
                                ^
../deps/librdkafka/src/rdkafka_sasl.c:157:32: error: 'rd_kafka_conf_t' has no member named 'sasl'
         if (!strcmp(rk->rk_conf.sasl.mechanisms, "GSSAPI")) {
                                ^
../deps/librdkafka/src/rdkafka_sasl.c:157:32: error: 'rd_kafka_conf_t' has no member named 'sasl'
         if (!strcmp(rk->rk_conf.sasl.mechanisms, "GSSAPI")) {
                                ^
../deps/librdkafka/src/rdkafka_sasl.c:157:32: error: 'rd_kafka_conf_t' has no member named 'sasl'
         if (!strcmp(rk->rk_conf.sasl.mechanisms, "GSSAPI")) {
                                ^
../deps/librdkafka/src/rdkafka_sasl.c:157:32: error: 'rd_kafka_conf_t' has no member named 'sasl'
         if (!strcmp(rk->rk_conf.sasl.mechanisms, "GSSAPI")) {
                                ^
../deps/librdkafka/src/rdkafka_sasl.c:157:32: error: 'rd_kafka_conf_t' has no member named 'sasl'
         if (!strcmp(rk->rk_conf.sasl.mechanisms, "GSSAPI")) {
                                ^
../deps/librdkafka/src/rdkafka_sasl.c:157:32: error: 'rd_kafka_conf_t' has no member named 'sasl'
         if (!strcmp(rk->rk_conf.sasl.mechanisms, "GSSAPI")) {
                                ^
../deps/librdkafka/src/rdkafka_sasl.c:157:32: error: 'rd_kafka_conf_t' has no member named 'sasl'
         if (!strcmp(rk->rk_conf.sasl.mechanisms, "GSSAPI")) {
                                ^
../deps/librdkafka/src/rdkafka_sasl.c:157:32: error: 'rd_kafka_conf_t' has no member named 'sasl'
         if (!strcmp(rk->rk_conf.sasl.mechanisms, "GSSAPI")) {
                                ^
../deps/librdkafka/src/rdkafka_sasl.c:157:32: error: 'rd_kafka_conf_t' has no member named 'sasl'
         if (!strcmp(rk->rk_conf.sasl.mechanisms, "GSSAPI")) {
                                ^
../deps/librdkafka/src/rdkafka_sasl.c:157:32: error: 'rd_kafka_conf_t' has no member named 'sasl'
         if (!strcmp(rk->rk_conf.sasl.mechanisms, "GSSAPI")) {
                                ^
../deps/librdkafka/src/rdkafka_sasl.c:157:32: error: 'rd_kafka_conf_t' has no member named 'sasl'
         if (!strcmp(rk->rk_conf.sasl.mechanisms, "GSSAPI")) {
                                ^
../deps/librdkafka/src/rdkafka_sasl.c:157:32: error: 'rd_kafka_conf_t' has no member named 'sasl'
         if (!strcmp(rk->rk_conf.sasl.mechanisms, "GSSAPI")) {
                                ^
../deps/librdkafka/src/rdkafka_sasl.c:157:32: error: 'rd_kafka_conf_t' has no member named 'sasl'
         if (!strcmp(rk->rk_conf.sasl.mechanisms, "GSSAPI")) {
                                ^
../deps/librdkafka/src/rdkafka_sasl.c:157:32: error: 'rd_kafka_conf_t' has no member named 'sasl'
         if (!strcmp(rk->rk_conf.sasl.mechanisms, "GSSAPI")) {
                                ^
../deps/librdkafka/src/rdkafka_sasl.c:157:32: error: 'rd_kafka_conf_t' has no member named 'sasl'
         if (!strcmp(rk->rk_conf.sasl.mechanisms, "GSSAPI")) {

I am new to Docker ,please correct me if i made any mistake.

question

Most helpful comment

I can't reproduce the error you're seeing, but this works:

FROM node:boron
WORKDIR /usr/src/app
ENV WITH_SASL 0
RUN npm install node-rdkafka

Or this:

FROM node:boron
WORKDIR /usr/src/app
RUN apt-get update \
    && apt-get install -y libssl-dev liblz4-dev libsasl2-dev libpthread-stubs0-dev build-essential pkg-config
RUN npm install node-rdkafka

Since you do COPY . . make sure to have a .dockerignore with node_modules/ in it

All 2 comments

I can't reproduce the error you're seeing, but this works:

FROM node:boron
WORKDIR /usr/src/app
ENV WITH_SASL 0
RUN npm install node-rdkafka

Or this:

FROM node:boron
WORKDIR /usr/src/app
RUN apt-get update \
    && apt-get install -y libssl-dev liblz4-dev libsasl2-dev libpthread-stubs0-dev build-essential pkg-config
RUN npm install node-rdkafka

Since you do COPY . . make sure to have a .dockerignore with node_modules/ in it

Closing due to inactivity

Was this page helpful?
0 / 5 - 0 ratings

Related issues

mikemaccana picture mikemaccana  路  24Comments

mlowicki picture mlowicki  路  22Comments

webysther picture webysther  路  22Comments

raulgomis picture raulgomis  路  26Comments

arcanis picture arcanis  路  26Comments