Node-rdkafka: Mac build is broken

Created on 16 Apr 2018  ยท  17Comments  ยท  Source: Blizzard/node-rdkafka

After a58b736 the build on OSX is failing due to

clang: error: no such file or directory: '/<bla_bla>/change-propagation/node_modules/node-rdkafka/build/deps/librdkafka.dylib'
clang: error: no such file or directory: '/<bla_bla>/change-propagation/node_modules/node-rdkafka/build/deps/librdkafka++.dylib'

Most helpful comment

Thanks to https://github.com/Blizzard/node-rdkafka/issues/405#issuecomment-398139737, I solved this on my mac.

I set BUILD_LIBRDKAFKA to 0, to prevent node-gyp build the dependencies. Then I used homebrew to install the kafka bindings brew install librdkafka

brew install librdkafka
BUILD_LIBRDKAFKA=0
yarn install

All 17 comments

Also having issues installing on MacOS 10.13.3, and node v9.3.0

My error was:

_rd_kafka_transport_ssl_ctx_init in rdkafka_transport.o "_X509_verify_cert_error_string", referenced from: _rd_kafka_transport_io_serve in rdkafka_transport.o "_d2i_PKCS12_fp", referenced from: _rd_kafka_transport_ssl_ctx_init in rdkafka_transport.o "_sk_pop_free", referenced from: _rd_kafka_transport_ssl_ctx_init in rdkafka_transport.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make[2]: *** [librdkafka.1.dylib] Error 1 make[1]: *** [libs] Error 2 make: *** [_Users_qrpike_project_node_modules_node_rdkafka_deps_librdkafka_gyp_librdkafka_target_build_dependencies.intermediate] Error 2 rm _Users_qrpike_project_node_modules_node_rdkafka_deps_librdkafka_gyp_librdkafka_target_build_dependencies.intermediate 000: qrpike$ ld

What version of NPM are you using @Pchelolo ? Can you send me the output of the console when it runs the configure step?

I can't install it either, but I have different problem

  • I'm using OSX High Sierra 10.13.4
  • I'm using yarn v1.5.1 and node v9.11.1
  • It works when I install it using npm 5.6.0
  • I'm installing it directly from current master#41696e1
  • The version 2.3.2 from npm works fine

To reproduce:

  • yarn add https://github.com/Blizzard/node-rdkafka.git
example-service (master) $ yarn add https://github.com/Blizzard/node-rdkafka.git
yarn add v1.5.1
[1/4] ๐Ÿ”  Resolving packages...
[2/4] ๐Ÿšš  Fetching packages...
[3/4] ๐Ÿ”—  Linking dependencies...
[4/4] ๐Ÿ“ƒ  Building fresh packages...
[1/1] โ ˆ node-rdkafka: '-Goutput_dir=.' ]
[-/1] โ ˆ waiting...
[-/1] โ ˆ waiting...
[-/1] โ ˆ waiting...
error An unexpected error occurred: "<path_to_app>/node_modules/node-rdkafka: Command failed.
Exit code: 1
Command: sh
Arguments: -c node-gyp rebuild
Directory: <path_to_app>/node_modules/node-rdkafka
Output:
gyp info it worked if it ends with ok
gyp info using [email protected]
gyp info using [email protected] | darwin | x64
gyp info spawn /usr/bin/python
gyp info spawn args [ '/usr/local/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'make',
gyp info spawn args   '-I',
gyp info spawn args   '<path_to_app>/node_modules/node-rdkafka/build/config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/usr/local/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '~/.node-gyp/9.11.1/include/node/common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=~/.node-gyp/9.11.1',
gyp info spawn args   '-Dnode_gyp_dir=/usr/local/lib/node_modules/npm/node_modules/node-gyp',
gyp info spawn args   '-Dnode_lib_file=~/.node-gyp/9.11.1/<(target_arch)/node.lib',
gyp info spawn args   '-Dmodule_root_dir=<path_to_app>/node_modules/node-rdkafka',
gyp info spawn args   '-Dnode_engine=v8',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'build',
gyp info spawn args   '-Goutput_dir=.' ]
gyp info spawn make
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
make: *** No rule to make target `<path_to_app>/node_modules/node-rdkafka/deps/librdkafka/config.h', needed by `_<path_to_app>_node_modules_node_rdkafka_deps_librdkafka_gyp_librdkafka_target_build_dependencies.intermediate'.  Stop.
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:258:23)
gyp ERR! stack     at ChildProcess.emit (events.js:180:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:209:12)
gyp ERR! System Darwin 17.5.0
gyp ERR! command \"/usr/local/bin/node\" \"/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js\" \"rebuild\"
gyp ERR! cwd <path_to_app>/node_modules/node-rdkafka
gyp ERR! node -v v9.11.1

Same for me with error

clang: error: no such file or directory: '/Users/simon/project/node_modules/node-rdkafka/build/deps/librdkafka.dylib'
clang: error: no such file or directory: '/Users/simon/project/node_modules/node-rdkafka/build/deps/librdkafka++.dylib'
make: *** [Release/node-librdkafka.node] Error 1

I am getting a similar error MacOS 10.13.4 and Node 6.14.1

```npm install --save node-rdkafka

[email protected] preinstall /Users/meferrer/csm/kafka/node_modules/.staging/node-rdkafka-c165681b
node util/configure

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)... failed
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 '0x000b04ff'... ok (0.11.4)
checking for librt (by compile)... failed
checking for libpthread (by compile)... ok
checking for libdl (by compile)... ok
checking for zlib (by compile)... ok
checking for libcrypto (by compile)... ok
checking for liblz4 (by compile)... failed (disable)
checking for libssl (by compile)... failed (disable)
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 /Users/meferrer/csm/kafka/node_modules/.staging/node-rdkafka-c165681b/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 /Users/meferrer/csm/kafka/node_modules/.staging/node-rdkafka-c165681b/build/deps
MKL_APP_NAME librdkafka
MKL_APP_DESC_ONELINE The Apache Kafka C/C++ library
LDFLAGS -L/Users/meferrer/csm/kafka/node_modules/.staging/node-rdkafka-c165681b/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.4
MKL_APP_VERSION 0.11.4
LIBS -lsasl2 -lcrypto -lz -ldl -lpthread
CXXFLAGS -Wno-non-virtual-dtor
SYMDUMPER $(NM) -g
exec_prefix /Users/meferrer/csm/kafka/node_modules/.staging/node-rdkafka-c165681b/build/deps
bindir /Users/meferrer/csm/kafka/node_modules/.staging/node-rdkafka-c165681b/build/deps/bin
sbindir /Users/meferrer/csm/kafka/node_modules/.staging/node-rdkafka-c165681b/build/deps/sbin
libexecdir /Users/meferrer/csm/kafka/node_modules/.staging/node-rdkafka-c165681b/build/deps/libexec
datadir /Users/meferrer/csm/kafka/node_modules/.staging/node-rdkafka-c165681b/build/deps/share
sysconfdir /Users/meferrer/csm/kafka/node_modules/.staging/node-rdkafka-c165681b/build/deps/etc
sharedstatedir /Users/meferrer/csm/kafka/node_modules/.staging/node-rdkafka-c165681b/build/deps/com
localstatedir /Users/meferrer/csm/kafka/node_modules/.staging/node-rdkafka-c165681b/build/deps/var
includedir /Users/meferrer/csm/kafka/node_modules/.staging/node-rdkafka-c165681b/build/deps/include
infodir /Users/meferrer/csm/kafka/node_modules/.staging/node-rdkafka-c165681b/build/deps/info
mandir /Users/meferrer/csm/kafka/node_modules/.staging/node-rdkafka-c165681b/build/deps/man
Generated config.cache

Now type 'make' to build

[email protected] install /Users/meferrer/csm/kafka/node_modules/node-rdkafka
node-gyp rebuild

TOUCH _Users_meferrer_csm_kafka_node_modules_node_rdkafka_deps_librdkafka_gyp_librdkafka_target_build_dependencies.intermediate
ACTION _Users_meferrer_csm_kafka_node_modules_node_rdkafka_deps_librdkafka_gyp_librdkafka_target_build_dependencies _Users_meferrer_csm_kafka_node_modules_node_rdkafka_deps_librdkafka_gyp_librdkafka_target_build_dependencies.intermediate
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -c rdkafka.c -o rdkafka.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -c rdkafka_broker.c -o rdkafka_broker.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -c rdkafka_msg.c -o rdkafka_msg.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -c rdkafka_topic.c -o rdkafka_topic.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -c rdkafka_conf.c -o rdkafka_conf.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -c rdkafka_timer.c -o rdkafka_timer.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -c rdkafka_offset.c -o rdkafka_offset.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -c rdkafka_transport.c -o rdkafka_transport.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -c rdkafka_buf.c -o rdkafka_buf.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -c rdkafka_queue.c -o rdkafka_queue.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -c rdkafka_op.c -o rdkafka_op.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -c rdkafka_request.c -o rdkafka_request.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -c rdkafka_cgrp.c -o rdkafka_cgrp.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -c rdkafka_pattern.c -o rdkafka_pattern.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -c rdkafka_partition.c -o rdkafka_partition.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -c rdkafka_subscription.c -o rdkafka_subscription.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -c rdkafka_assignor.c -o rdkafka_assignor.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -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 -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 -c rdkafka_feature.c -o rdkafka_feature.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -c rdcrc32.c -o rdcrc32.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -c crc32c.c -o crc32c.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -c rdmurmur2.c -o rdmurmur2.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -c rdaddr.c -o rdaddr.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -c rdrand.c -o rdrand.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -c rdlist.c -o rdlist.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -c tinycthread.c -o tinycthread.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -c rdlog.c -o rdlog.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -c rdstring.c -o rdstring.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -c rdkafka_event.c -o rdkafka_event.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -c rdkafka_metadata.c -o rdkafka_metadata.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -c rdregex.c -o rdregex.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -c rdports.c -o rdports.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -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 -c rdavl.c -o rdavl.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -c rdkafka_sasl.c -o rdkafka_sasl.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -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 -c rdkafka_interceptor.c -o rdkafka_interceptor.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -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 -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 -c rdkafka_header.c -o rdkafka_header.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -c rdvarint.c -o rdvarint.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -c rdbuf.c -o rdbuf.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -c rdunittest.c -o rdunittest.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -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 -c snappy.c -o snappy.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -c rdgz.c -o rdgz.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -c rdkafka_lz4.c -o rdkafka_lz4.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -O3 -c xxhash.c -o xxhash.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -O3 -c lz4.c -o lz4.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -O3 -c lz4frame.c -o lz4frame.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -O3 -c lz4hc.c -o lz4hc.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -c rddl.c -o rddl.o
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -c rdkafka_plugin.c -o rdkafka_plugin.o
Creating shared library librdkafka.1.dylib
gcc -L/Users/meferrer/csm/kafka/node_modules/.staging/node-rdkafka-c165681b/build/deps -shared -dynamiclib -Wl,-install_name,/Users/meferrer/csm/kafka/node_modules/.staging/node-rdkafka-c165681b/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 rdvarint.o rdbuf.o rdunittest.o rdkafka_sasl_cyrus.o snappy.o rdgz.o rdkafka_lz4.o xxhash.o lz4.o lz4frame.o lz4hc.o rddl.o rdkafka_plugin.o -o librdkafka.1.dylib -lsasl2 -lcrypto -lz -ldl -lpthread
ld: warning: directory not found for option '-L/Users/meferrer/csm/kafka/node_modules/.staging/node-rdkafka-c165681b/build/deps'
ld: library not found for -lcrypto
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: * [librdkafka.1.dylib] Error 1
make[1]:
[libs] Error 2
make: *
* [_Users_meferrer_csm_kafka_node_modules_node_rdkafka_deps_librdkafka_gyp_librdkafka_target_build_dependencies.intermediate] Error 2
rm _Users_meferrer_csm_kafka_node_modules_node_rdkafka_deps_librdkafka_gyp_librdkafka_target_build_dependencies.intermediate
gyp ERR! build error
gyp ERR! stack Error: make failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:276:23)
gyp ERR! stack at emitTwo (events.js:106:13)
gyp ERR! stack at ChildProcess.emit (events.js:191:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:219:12)
gyp ERR! System Darwin 17.5.0
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/meferrer/csm/kafka/node_modules/node-rdkafka
gyp ERR! node -v v6.14.1
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok
npm WARN [email protected] No description
npm WARN [email protected] No repository field.
npm ERR! Darwin 17.5.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "--save" "node-rdkafka"
npm ERR! node v6.14.1
npm ERR! npm v3.10.10
npm ERR! code ELIFECYCLE

npm ERR! [email protected] install: node-gyp rebuild
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script 'node-gyp rebuild'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the node-rdkafka package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node-gyp rebuild
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs node-rdkafka
npm ERR! Or if that isn't available, you can get their info via:
npm ERR! npm owner ls node-rdkafka
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR! /Users/meferrer/csm/kafka/npm-debug.log
```

@G3N7 you need to install openssl: brew install openssl - also see this GitHub issue

This is looking more and more to me like an NPM bug. Or maybe I was just using pre-install in a way it wasn't intended.

It makes this staging directory and then has the node-gyp variables resolve to the staging directory during the configure step. At that point, it moves the files into the correct directory, so when it tries to link it gets messed up because the prefix was made at preinstall time.

I made an adjustment to put this in gyp again. Can you try to build this from github now? You should (hopefully) at least be getting a different error

Yes, now I'm getting different error.
Looks like ./configure is missing

$ yarn add https://github.com/Blizzard/node-rdkafka.git
yarn add v1.5.1
[1/4] ๐Ÿ”  Resolving packages...
[2/4] ๐Ÿšš  Fetching packages...
[3/4] ๐Ÿ”—  Linking dependencies...
[4/4] ๐Ÿ“ƒ  Building fresh packages...
[1/1] โ „ node-rdkafka: ./configure: line 13: ./configure: No such file or directory
[-/1] โ „ waiting...
[-/1] โ „ waiting...
[-/1] โ „ waiting...
error An unexpected error occurred: "<path_to_app>/node_modules/node-rdkafka: Command failed.
Exit code: 1
Command: sh
Arguments: -c node-gyp rebuild
Directory: <path_to_app>/node_modules/node-rdkafka
Output:
gyp info it worked if it ends with ok
gyp info using [email protected]
gyp info using [email protected] | darwin | x64
gyp info spawn /usr/bin/python
gyp info spawn args [ '/usr/local/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'make',
gyp info spawn args   '-I',
gyp info spawn args   '<path_to_app>/node_modules/node-rdkafka/build/config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/usr/local/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '~/.node-gyp/9.11.1/include/node/common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=~/.node-gyp/9.11.1',
gyp info spawn args   '-Dnode_gyp_dir=/usr/local/lib/node_modules/npm/node_modules/node-gyp',
gyp info spawn args   '-Dnode_lib_file=~/.node-gyp/9.11.1/<(target_arch)/node.lib',
gyp info spawn args   '-Dmodule_root_dir=<path_to_app>/node_modules/node-rdkafka',
gyp info spawn args   '-Dnode_engine=v8',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'build',
gyp info spawn args   '-Goutput_dir=.' ]
gyp info spawn make
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
  ACTION path_to_app_node_modules_node_rdkafka_deps_librdkafka_gyp_librdkafka_target_configure <path_to_app>/node_modules/node-rdkafka/deps/librdkafka/config.h
./configure: line 13: ./configure: No such file or directory
  TOUCH path_to_app_node_modules_node_rdkafka_deps_librdkafka_gyp_librdkafka_target_build_dependencies.intermediate
  ACTION path_to_app_node_modules_node_rdkafka_deps_librdkafka_gyp_librdkafka_target_build_dependencies path_to_app_node_modules_node_rdkafka_deps_librdkafka_gyp_librdkafka_target_build_dependencies.intermediate
make[1]: *** No rule to make target `libs'.  Stop.
make: *** [path_to_app_node_modules_node_rdkafka_deps_librdkafka_gyp_librdkafka_target_build_dependencies.intermediate] Error 2
rm path_to_app_node_modules_node_rdkafka_deps_librdkafka_gyp_librdkafka_target_build_dependencies.intermediate
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:258:23)
gyp ERR! stack     at ChildProcess.emit (events.js:180:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:209:12)
gyp ERR! System Darwin 17.5.0
gyp ERR! command \"/usr/local/bin/node\" \"/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js\" \"rebuild\"
gyp ERR! cwd <path_to_app>/node_modules/node-rdkafka
gyp ERR! node -v v9.11.1

I face the same issue while installing node-rdkafka on Ubuntu from master using yarn.

yarn add https://github.com/Blizzard/node-rdkafka

Could you trigger new release, so that your package can be installed from npm?

I am getting a similar error MacOS 10.12.6 and Node 7.10.1

`> [email protected] install /Users/wangyong/nodejs/nodejs-kafka-example/node_modules/node-rdkafka

node-gyp rebuild

TOUCH _Users_wangyong_nodejs_nodejs_kafka_example_node_modules_node_rdkafka_deps_librdkafka_gyp_librdkafka_target_build_dependencies.intermediate
ACTION _Users_wangyong_nodejs_nodejs_kafka_example_node_modules_node_rdkafka_deps_librdkafka_gyp_librdkafka_target_build_dependencies _Users_wangyong_nodejs_nodejs_kafka_example_node_modules_node_rdkafka_deps_librdkafka_gyp_librdkafka_target_build_dependencies.intermediate
gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wcast-align -c rdkafka.c -o rdkafka.o
In file included from rdkafka.c:38:
./rdkafka_int.h:53:10: fatal error: 'openssl/ssl.h' file not found

include

     ^~~~~~~~~~~~~~~

1 error generated.
make[2]: * [rdkafka.o] Error 1
make[1]: *
[libs] Error 2`

And when i am install librdkafka from the github master, it's ok!

I user command: CFLAGS=-I/usr/local/opt/openssl/include LDFLAGS=-L/usr/local/opt/openssl/lib ./configure && make

But i do not know how can i install node-rdkafka scussess

i have solve that erros:
โ‡’ echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.zshrc
โ‡’ echo 'export LDFLAGS="-L/usr/local/opt/openssl/lib"' >> ~/.zshrc
โ‡’ echo 'export CPPFLAGS="-I/usr/local/opt/openssl/include"' >> ~/.zshrc
โ‡’ reload terminal

but i got new error:

Release/node-librdkafka.node clang: error: no such file or directory: '/Users/wangyong/nodejs/jd-banner-kafka/node_modules/node-rdkafka/build/deps/librdkafka.dylib' clang: error: no such file or directory: '/Users/wangyong/nodejs/jd-banner-kafka/node_modules/node-rdkafka/build/deps/librdkafka++.dylib'

@jacoobwang @Glogo were you by any chance using nvm to manage different node versions?

This issue is persisting. Any chance of finding a resolution? I'd prefer not have to come up with a hack to get it done.

what node version is supposed to be stable @webmakersteve ? I can't seem to get past on npm install error ./configure: line 13: ./configure: No such file or directory

If you add it to yarn with https://github.com/Blizzard/node-rdkafka.git it may not include the submodules, which is why the configure step does not exist.

You will need to use the built version that is published to the registry.

Thanks to https://github.com/Blizzard/node-rdkafka/issues/405#issuecomment-398139737, I solved this on my mac.

I set BUILD_LIBRDKAFKA to 0, to prevent node-gyp build the dependencies. Then I used homebrew to install the kafka bindings brew install librdkafka

brew install librdkafka
BUILD_LIBRDKAFKA=0
yarn install
Was this page helpful?
0 / 5 - 0 ratings

Related issues

idangozlan picture idangozlan  ยท  3Comments

JaapRood picture JaapRood  ยท  3Comments

bigclap picture bigclap  ยท  5Comments

Rick83600 picture Rick83600  ยท  3Comments

maxplanck76er picture maxplanck76er  ยท  3Comments