node-rdkafka: node-rdkafka 2.3.0: librdkafka build fails on Mac OS

This works fine with v2.2.3. I’m running macOS High Sierra with Node v8.5.0.

> node-rdkafka@2.3.0 preinstall /Users/akabani/Documents/source/git/node-rdkafka-demo/node_modules/.staging/node-rdkafka-68ac5f73
> 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)... 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 '0x000b03ff'... ok (0.11.3)
checking for libpthread (by pkg-config)... failed
checking for libpthread (by compile)... ok
checking for zlib (by pkg-config)... ok
checking for zlib (by compile)... ok (cached)
checking for libcrypto (by pkg-config)... failed
checking for libcrypto (by compile)... failed (disable)
checking for liblz4 (by pkg-config)... failed
checking for liblz4 (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 librt (by pkg-config)... failed
checking for librt (by compile)... failed
checking for strndup (by compile)... ok
checking for strerror_r (by compile)... ok
checking for libdl (by pkg-config)... failed
checking for libdl (by compile)... ok
checking for nm (by env NM)... ok (cached)
Generated Makefile.config
Generated config.h

Configuration summary:
  prefix                   /usr/local
  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
  MKL_APP_NAME             librdkafka
  MKL_APP_DESC_ONELINE     The Apache Kafka C/C++ library
  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.3
  MKL_APP_VERSION          0.11.3
  LIBS                     -lpthread -lz -L/usr/local/Cellar/openssl/1.0.2n/lib -lssl -lsasl2 -ldl
  CFLAGS                   -I/usr/local/Cellar/openssl/1.0.2n/include
  CXXFLAGS                 -Wno-non-virtual-dtor
  SYMDUMPER                $(NM) -g
  exec_prefix              /usr/local
  bindir                   /usr/local/bin
  sbindir                  /usr/local/sbin
  libexecdir               /usr/local/libexec
  datadir                  /usr/local/share
  sysconfdir               /usr/local/etc
  sharedstatedir           /usr/local/com
  localstatedir            /usr/local/var
  libdir                   /usr/local/lib
  includedir               /usr/local/include
  infodir                  /usr/local/info
  mandir                   /usr/local/man
Generated config.cache

Now type 'make' to build

> node-rdkafka@2.3.0 install /Users/akabani/Documents/source/git/node-rdkafka-demo/node_modules/node-rdkafka
> node-gyp rebuild

gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
  TOUCH _Users_akabani_Documents_source_git_node_rdkafka_demo_node_modules_node_rdkafka_deps_librdkafka_gyp_librdkafka_target_build_dependencies.intermediate
  ACTION _Users_akabani_Documents_source_git_node_rdkafka_demo_node_modules_node_rdkafka_deps_librdkafka_gyp_librdkafka_target_build_dependencies _Users_akabani_Documents_source_git_node_rdkafka_demo_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 -I/usr/local/Cellar/openssl/1.0.2n/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/Cellar/openssl/1.0.2n/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/Cellar/openssl/1.0.2n/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/Cellar/openssl/1.0.2n/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/Cellar/openssl/1.0.2n/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/Cellar/openssl/1.0.2n/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/Cellar/openssl/1.0.2n/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/Cellar/openssl/1.0.2n/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/Cellar/openssl/1.0.2n/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/Cellar/openssl/1.0.2n/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/Cellar/openssl/1.0.2n/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/Cellar/openssl/1.0.2n/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/Cellar/openssl/1.0.2n/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/Cellar/openssl/1.0.2n/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/Cellar/openssl/1.0.2n/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/Cellar/openssl/1.0.2n/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/Cellar/openssl/1.0.2n/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/Cellar/openssl/1.0.2n/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/Cellar/openssl/1.0.2n/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/Cellar/openssl/1.0.2n/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/Cellar/openssl/1.0.2n/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/Cellar/openssl/1.0.2n/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/Cellar/openssl/1.0.2n/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/Cellar/openssl/1.0.2n/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/Cellar/openssl/1.0.2n/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/Cellar/openssl/1.0.2n/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/Cellar/openssl/1.0.2n/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/Cellar/openssl/1.0.2n/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/Cellar/openssl/1.0.2n/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/Cellar/openssl/1.0.2n/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/Cellar/openssl/1.0.2n/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/Cellar/openssl/1.0.2n/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/Cellar/openssl/1.0.2n/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/Cellar/openssl/1.0.2n/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/Cellar/openssl/1.0.2n/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/Cellar/openssl/1.0.2n/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/Cellar/openssl/1.0.2n/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/Cellar/openssl/1.0.2n/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/Cellar/openssl/1.0.2n/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/Cellar/openssl/1.0.2n/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/Cellar/openssl/1.0.2n/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/Cellar/openssl/1.0.2n/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/Cellar/openssl/1.0.2n/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/Cellar/openssl/1.0.2n/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/Cellar/openssl/1.0.2n/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/Cellar/openssl/1.0.2n/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/Cellar/openssl/1.0.2n/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/Cellar/openssl/1.0.2n/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/Cellar/openssl/1.0.2n/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/Cellar/openssl/1.0.2n/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/Cellar/openssl/1.0.2n/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/Cellar/openssl/1.0.2n/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/Cellar/openssl/1.0.2n/include -c rdkafka_plugin.c -o rdkafka_plugin.o
Generating linker script librdkafka.lds from rdkafka.h
Creating shared library librdkafka.1.dylib
gcc  -shared -dynamiclib -Wl,-install_name,/usr/local/lib/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 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 rdvarint.o rdbuf.o rdunittest.o rdkafka_sasl_cyrus.o rdkafka_sasl_scram.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 -lpthread -lz -L/usr/local/Cellar/openssl/1.0.2n/lib -lssl -lsasl2 -ldl
Undefined symbols for architecture x86_64:
  "_BIO_ctrl", referenced from:
      _rd_base64_encode in rdkafka_sasl_scram.o
  "_BIO_f_base64", referenced from:
      _rd_kafka_sasl_scram_fsm in rdkafka_sasl_scram.o
      _rd_base64_encode in rdkafka_sasl_scram.o
  "_BIO_free_all", referenced from:
      _rd_kafka_sasl_scram_fsm in rdkafka_sasl_scram.o
      _rd_base64_encode in rdkafka_sasl_scram.o
  "_BIO_new", referenced from:
      _rd_kafka_sasl_scram_fsm in rdkafka_sasl_scram.o
      _rd_base64_encode in rdkafka_sasl_scram.o
  "_BIO_new_mem_buf", referenced from:
      _rd_kafka_sasl_scram_fsm in rdkafka_sasl_scram.o
  "_BIO_push", referenced from:
      _rd_kafka_sasl_scram_fsm in rdkafka_sasl_scram.o
      _rd_base64_encode in rdkafka_sasl_scram.o
  "_BIO_read", referenced from:
      _rd_kafka_sasl_scram_fsm in rdkafka_sasl_scram.o
  "_BIO_s_mem", referenced from:
      _rd_base64_encode in rdkafka_sasl_scram.o
  "_BIO_set_flags", referenced from:
      _rd_kafka_sasl_scram_fsm in rdkafka_sasl_scram.o
      _rd_base64_encode in rdkafka_sasl_scram.o
  "_BIO_write", referenced from:
      _rd_base64_encode in rdkafka_sasl_scram.o
  "_CRYPTO_cleanup_all_ex_data", referenced from:
      _rd_kafka_transport_ssl_term in rdkafka_transport.o
  "_CRYPTO_num_locks", referenced from:
      _rd_kafka_transport_ssl_init in rdkafka_transport.o
  "_CRYPTO_set_id_callback", referenced from:
      _rd_kafka_transport_ssl_term in rdkafka_transport.o
      _rd_kafka_transport_ssl_init in rdkafka_transport.o
  "_CRYPTO_set_locking_callback", referenced from:
      _rd_kafka_transport_ssl_term in rdkafka_transport.o
      _rd_kafka_transport_ssl_init in rdkafka_transport.o
  "_ERR_error_string_n", referenced from:
      _rd_kafka_ssl_error in rdkafka_transport.o
  "_ERR_get_error_line_data", referenced from:
      _rd_kafka_ssl_error in rdkafka_transport.o
  "_ERR_remove_thread_state", referenced from:
      _rd_kafka_broker_thread_main in rdkafka_broker.o
  "_EVP_sha1", referenced from:
      _rd_kafka_sasl_scram_conf_validate in rdkafka_sasl_scram.o
  "_EVP_sha256", referenced from:
      _rd_kafka_sasl_scram_conf_validate in rdkafka_sasl_scram.o
  "_EVP_sha512", referenced from:
      _rd_kafka_sasl_scram_conf_validate in rdkafka_sasl_scram.o
  "_HMAC", referenced from:
      _rd_kafka_sasl_scram_Hi in rdkafka_sasl_scram.o
      _rd_kafka_sasl_scram_HMAC in rdkafka_sasl_scram.o
  "_OPENSSL_add_all_algorithms_noconf", referenced from:
      _rd_kafka_transport_ssl_init in rdkafka_transport.o
  "_SHA1", referenced from:
      _rd_kafka_sasl_scram_conf_validate in rdkafka_sasl_scram.o
  "_SHA256", referenced from:
      _rd_kafka_sasl_scram_conf_validate in rdkafka_sasl_scram.o
  "_SHA512", referenced from:
      _rd_kafka_sasl_scram_conf_validate in rdkafka_sasl_scram.o
  "_X509_STORE_set_flags", referenced from:
      _rd_kafka_transport_ssl_ctx_init in rdkafka_transport.o
  "_X509_free", referenced from:
      _rd_kafka_transport_io_serve in rdkafka_transport.o
  "_X509_verify_cert_error_string", referenced from:
      _rd_kafka_transport_io_serve 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_akabani_Documents_source_git_node_rdkafka_demo_node_modules_node_rdkafka_deps_librdkafka_gyp_librdkafka_target_build_dependencies.intermediate] Error 2
rm _Users_akabani_Documents_source_git_node_rdkafka_demo_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 ChildProcess.emit (events.js:127:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:209:12)
gyp ERR! System Darwin 17.4.0
gyp ERR! command "/Users/akabani/.nvm/versions/node/v9.7.1/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/akabani/Documents/source/git/node-rdkafka-demo/node_modules/node-rdkafka
gyp ERR! node -v v9.7.1
gyp ERR! node-gyp -v v3.5.0
gyp ERR! not ok 

About this issue

  • Original URL
  • State: closed
  • Created 6 years ago
  • Reactions: 12
  • Comments: 41 (14 by maintainers)

Most upvoted comments

When re-installing openssl I get this notice:

For compilers to find this software you may need to set:
    LDFLAGS:  -L/usr/local/opt/openssl/lib
    CPPFLAGS: -I/usr/local/opt/openssl/include
For pkg-config to find this software you may need to set:
    PKG_CONFIG_PATH: /usr/local/opt/openssl/lib/pkgconfig

So if I do this, our project can then install and compile the dependencies.

CPPFLAGS=-I/usr/local/opt/openssl/include LDFLAGS=-L/usr/local/opt/openssl/lib npm install

osx 10.13.4 node v10.1.0 node-rdkafka 2.3.3

first, install openssl with homebrew: $ brew install openssl

second, run $ CPPFLAGS=-I/usr/local/opt/openssl/include LDFLAGS=-L/usr/local/opt/openssl/lib npm install node-rdkafka

this works.

Since homebrew refuse to link openssl to system-wide. And I just run node-rdkafka on my mac for test intent. So I dont want to change some security things such as openssl lib.

I get this problem when I try to run a producer:

Error: dlopen(/Users/akabani/Documents/source/git/node-rdkafka-demo/node_modules/node-rdkafka/build/Release/node-librdkafka.node, 1): Library not loaded: /usr/local/lib/librdkafka++.1.dylib
  Referenced from: /Users/akabani/Documents/source/git/node-rdkafka-demo/node_modules/node-rdkafka/build/Release/node-librdkafka.node
  Reason: image not found
    at Object.Module._extensions..node (module.js:691:18)
    at Module.load (module.js:575:32)
    at tryModuleLoad (module.js:515:12)
    at Function.Module._load (module.js:507:3)
    at Module.require (module.js:606:17)
    at require (internal/module.js:11:18)
    at bindings (/Users/akabani/Documents/source/git/node-rdkafka-demo/node_modules/bindings/bindings.js:81:44)
    at Object.<anonymous> (/Users/akabani/Documents/source/git/node-rdkafka-demo/node_modules/node-rdkafka/librdkafka.js:10:32)
    at Module._compile (module.js:662:30)
    at Object.Module._extensions..js (module.js:673:10)

I have to manually copy it from the Release folder to /usr/local/lib/:

cp ./node_modules/node-rdkafka/build/Release/librdkafka* /usr/local/lib/

@alsotang your solution worked for me! Thank you!! you may have mistyped npm to tnpm so: CPPFLAGS=-I/usr/local/opt/openssl/include LDFLAGS=-L/usr/local/opt/openssl/lib npm install node-rdkafka hope that saved someone a couple seconds

That is a way to solve it but it shouldn’t be required. I believe the runpath is not being set correctly and am working on a fix.

If the environment DYLD_LIBRARY_PATH is set to the directory containing the compiled library, then the application should load without any issues. Here is how the scripts section of my app’s package.json looks likes

"scripts": {
    "start": "export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:`pwd`/node_modules/node-rdkafka/build/Release && node index.js"
 }

Ok. I was running Node v9.7.1. I switched to node v8.5.0 and everything worked correctly.

@rajkiranrbala thank you I will test this out soon. @webmakersteve thanks for getting a fix in place.