Blizzard / Blizzard/node-rdkafka
Installation fails if any parent dir contains space
- Dominant language
- JavaScript
- Stars
- 2.2k
- Forks
- 403
- PR merge metrics
- No merged PRs in 30d
Description
**Environment Information**
- OS [e.g. Mac, Arch, Windows 10]: MacOS Sonoma 14.1
- Node Version [e.g. 8.2.1]: 16.15.0
- NPM Version [e.g. 5.4.2]: 8.5.5
- C++ Toolchain [e.g. Visual Studio, llvm, g++]: not sure but probably the XCode one
- node-rdkafka version [e.g. 2.3.3]: 2.18.0
**Steps to Reproduce**
`mkdir "test-node-rdkafka-install issue" && cd "test-node-rdkafka-install issue" && npm init -y && npm install node-rdkafka`
**node-rdkafka Configuration Settings**
N/A
**Additional context**
Here's the line in the log that tells me it's the space that messes up the installation:
```
npm ERR! /bin/sh: issue/node_modules/node-rdkafka/build/Release/lib.host:/Users/lucian/1.Projects/test-node-rdkafka-install: No such file or directory
```
After I removed all spaces from parent dirs the install worked. Creating this issue to hopefully discover and fix the root cause, next best thing is to save others time on troubleshooting.
Full log:
```
npm ERR! code 1
npm ERR! path /Users/lucian/1.Projects/test-node-rdkafka-install issue/node_modules/node-rdkafka
npm ERR! command failed
npm ERR! command sh -c node-gyp rebuild
npm ERR! make: Entering directory '/Users/lucian/1.Projects/test-node-rdkafka-install issue/node_modules/node-rdkafka/build'
npm ERR! ACTION deps_librdkafka_gyp_librdkafka_target_configure deps/librdkafka/config.h
npm ERR! Usage: ./configure [OPTIONS...]
npm ERR!
npm ERR! mklove configure script - mklove, not autoconf
npm ERR! Copyright (c) 2014-2023, Magnus Edenhill - https://github.com/edenhill/mklove
npm ERR!
npm ERR! librdkafka - The Apache Kafka C/C++ library
npm ERR! Copyright (c) 2012-2022, Magnus Edenhill, 2023, Confluent Inc.
npm ERR!
npm ERR! Development options:
npm ERR! --enable-devel Enable development asserts, checks, etc [n]
npm ERR! --disable-devel Disable development asserts, checks, etc
npm ERR! --enable-valgrind Enable in-code valgrind suppressions [n]
npm ERR! --disable-valgrind Disable in-code valgrind suppressions
npm ERR! --enable-refcnt-debug Enable refcnt debugging [n]
npm ERR! --disable-refcnt-debug Disable refcnt debugging
npm ERR!
npm ERR! Feature options:
npm ERR! --enable-lz4-ext Enable external LZ4 library support (builtin version 1.9.3) [y]
npm ERR! --disable-lz4-ext Disable external LZ4 library support (builtin version 1.9.3)
npm ERR! --enable-lz4 Deprecated: alias for --enable-lz4-ext [y]
npm ERR! --disable-lz4 Deprecated: alias for --enable-lz4-ext
npm ERR! --enable-regex-ext Enable external (libc) regex (else use builtin) [y]
npm ERR! --disable-regex-ext Disable external (libc) regex (else use builtin)
npm ERR! --enable-c11threads Enable detection of C11 threads support in libc [try]
npm ERR! --disable-c11threads Disable detection of C11 threads support in libc
npm ERR! --enable-syslog Enable logging to syslog [y]
npm ERR! --disable-syslog Disable logging to syslog
npm ERR!
npm ERR! Honoured environment variables:
npm ERR! CC, CPP, CXX, CFLAGS, CPPFLAGS, CXXFLAGS, LDFLAGS, LIBS,
npm ERR! LD, NM, OBJDUMP, STRIP, RANLIB, PKG_CONFIG, PKG_CONFIG_PATH,
npm ERR! STATIC_LIB_=.../libname.a
npm ERR!
npm ERR!
npm ERR! make: Leaving directory '/Users/lucian/1.Projects/test-node-rdkafka-install issue/node_modules/node-rdkafka/build'
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp info using node-gyp@9.0.0
npm ERR! gyp info using node@16.15.0 | darwin | arm64
npm ERR! gyp info find Python using Python version 3.11.6 found at "/opt/homebrew/opt/python@3.11/bin/python3.11"
npm ERR! gyp info spawn /opt/homebrew/opt/python@3.11/bin/python3.11
npm ERR! gyp info spawn args [
npm ERR! gyp info spawn args '/Users/lucian/.nvm/versions/node/v16.15.0/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
npm ERR! gyp info spawn args 'binding.gyp',
npm ERR! gyp info spawn args '-f',
npm ERR! gyp info spawn args 'make',
npm ERR! gyp info spawn args '-I',
npm ERR! gyp info spawn args '/Users/lucian/1.Projects/test-node-rdkafka-install issue/node_modules/node-rdkafka/build/config.gypi',
npm ERR! gyp info spawn args '-I',
npm ERR! gyp info spawn args '/Users/lucian/.nvm/versions/node/v16.15.0/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
npm ERR! gyp info spawn args '-I',
npm ERR! gyp info spawn args '/Users/lucian/Library/Caches/node-gyp/16.15.0/include/node/common.gypi',
npm ERR! gyp info spawn args '-Dlibrary=shared_library',
npm ERR! gyp info spawn args '-Dvisibility=default',
npm ERR! gyp info spawn args '-Dnode_root_dir=/Users/lucian/Library/Caches/node-gyp/16.15.0',
npm ERR! gyp info spawn args '-Dnode_gyp_dir=/Users/lucian/.nvm/versions/node/v16.15.0/lib/node_modules/npm/node_modules/node-gyp',
npm ERR! gyp info spawn args '-Dnode_lib_file=/Users/lucian/Library/Caches/node-gyp/16.15.0/<(target_arch)/node.lib',
npm ERR! gyp info spawn args '-Dmodule_root_dir=/Users/lucian/1.Projects/test-node-rdkafka-install issue/node_modules/node-rdkafka',
npm ERR! gyp info spawn args '-Dnode_engine=v8',
npm ERR! gyp info spawn args '--depth=.',
npm ERR! gyp info spawn args '--no-parallel',
npm ERR! gyp info spawn args '--generator-output',
npm ERR! gyp info spawn args 'build',
npm ERR! gyp info spawn args '-Goutput_dir=.'
npm ERR! gyp info spawn args ]
npm ERR! gyp info spawn make
npm ERR! gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
npm ERR! /bin/sh: issue/node_modules/node-rdkafka/build/Release/lib.host:/Users/lucian/1.Projects/test-node-rdkafka-install: No such file or directory
npm ERR! mklove/modules/configure.base: line 1019: $MKL_OUTDBG: ambiguous redirect
npm ERR! mklove/modules/configure.base: line 1019: $MKL_OUTDBG: ambiguous redirect
npm ERR! downloading missing module builtin from http://github.com/edenhill/mklove/raw/master/modules/configure.builtin
npm ERR! mklove/modules/configure.base: line 1045: $MKL_OUTDBG: ambiguous redirect
npm ERR! mklove/modules/configure.base: line 1019: $MKL_OUTDBG: ambiguous redirect
npm ERR! mklove/modules/configure.base: line 2126: /Users/lucian/1.Projects/test-node-rdkafka-install: No such file or directory
npm ERR! downloading missing module host from http://github.com/edenhill/mklove/raw/master/modules/configure.host
npm ERR! mklove/modules/configure.base: line 1045: $MKL_OUTDBG: ambiguous redirect
npm ERR! mklove/modules/configure.base: line 1019: $MKL_OUTDBG: ambiguous redirect
npm ERR! mklove/modules/configure.base: line 2126: /Users/lucian/1.Projects/test-node-rdkafka-install: No such file or directory
npm ERR! downloading missing module cc from http://github.com/edenhill/mklove/raw/master/modules/configure.cc
npm ERR! mklove/modules/configure.base: line 1045: $MKL_OUTDBG: ambiguous redirect
npm ERR! mklove/modules/configure.base: line 1019: $MKL_OUTDBG: ambiguous redirect
npm ERR! mklove/modules/configure.base: line 2126: /Users/lucian/1.Projects/test-node-rdkafka-install: No such file or directory
npm ERR! mklove/modules/configure.base: line 1019: $MKL_OUTDBG: ambiguous redirect
npm ERR! downloading missing module cxx from http://github.com/edenhill/mklove/raw/master/modules/configure.cxx
npm ERR! mklove/modules/configure.base: line 1045: $MKL_OUTDBG: ambiguous redirect
npm ERR! mklove/modules/configure.base: line 1019: $MKL_OUTDBG: ambiguous redirect
npm ERR! mklove/modules/configure.base: line 2126: /Users/lucian/1.Projects/test-node-rdkafka-install: No such file or directory
npm ERR! downloading missing module lib from http://github.com/edenhill/mklove/raw/master/modules/configure.lib
npm ERR! mklove/modules/configure.base: line 1045: $MKL_OUTDBG: ambiguous redirect
npm ERR! mklove/modules/configure.base: line 1019: $MKL_OUTDBG: ambiguous redirect
npm ERR! mklove/modules/configure.base: line 2126: /Users/lucian/1.Projects/test-node-rdkafka-install: No such file or directory
npm ERR! downloading missing module pic from http://github.com/edenhill/mklove/raw/master/modules/configure.pic
npm ERR! mklove/modules/configure.base: line 1045: $MKL_OUTDBG: ambiguous redirect
npm ERR! mklove/modules/configure.base: line 1019: $MKL_OUTDBG: ambiguous redirect
npm ERR! mklove/modules/configure.base: line 2126: /Users/lucian/1.Projects/test-node-rdkafka-install: No such file or directory
npm ERR! downloading missing module atomics from http://github.com/edenhill/mklove/raw/master/modules/configure.atomics
npm ERR! mklove/modules/configure.base: line 1045: $MKL_OUTDBG: ambiguous redirect
npm ERR! mklove/modules/configure.base: line 1019: $MKL_OUTDBG: ambiguous redirect
npm ERR! mklove/modules/configure.base: line 2126: /Users/lucian/1.Projects/test-node-rdkafka-install: No such file or directory
npm ERR! downloading missing module good_cflags from http://github.com/edenhill/mklove/raw/master/modules/configure.good_cflags
npm ERR! mklove/modules/configure.base: line 1045: $MKL_OUTDBG: ambiguous redirect
npm ERR! mklove/modules/configure.base: line 1019: $MKL_OUTDBG: ambiguous redirect
npm ERR! mklove/modules/configure.base: line 2126: /Users/lucian/1.Projects/test-node-rdkafka-install: No such file or directory
npm ERR! downloading missing module socket from http://github.com/edenhill/mklove/raw/master/modules/configure.socket
npm ERR! mklove/modules/configure.base: line 1045: $MKL_OUTDBG: ambiguous redirect
npm ERR! mklove/modules/configure.base: line 1019: $MKL_OUTDBG: ambiguous redirect
npm ERR! mklove/modules/configure.base: line 2126: /Users/lucian/1.Projects/test-node-rdkafka-install: No such file or directory
npm ERR! downloading missing module zlib from http://github.com/edenhill/mklove/raw/master/modules/configure.zlib
npm ERR! mklove/modules/configure.base: line 1045: $MKL_OUTDBG: ambiguous redirect
npm ERR! mklove/modules/configure.base: line 1019: $MKL_OUTDBG: ambiguous redirect
npm ERR! mklove/modules/configure.base: line 2126: /Users/lucian/1.Projects/test-node-rdkafka-install: No such file or directory
npm ERR! downloading missing module libzstd from http://github.com/edenhill/mklove/raw/master/modules/configure.libzstd
npm ERR! mklove/modules/configure.base: line 1045: $MKL_OUTDBG: ambiguous redirect
npm ERR! mklove/modules/configure.base: line 1019: $MKL_OUTDBG: ambiguous redirect
npm ERR! mklove/modules/configure.base: line 2126: /Users/lucian/1.Projects/test-node-rdkafka-install: No such file or directory
npm ERR! downloading missing module libssl from http://github.com/edenhill/mklove/raw/master/modules/configure.libssl
npm ERR! mklove/modules/configure.base: line 1045: $MKL_OUTDBG: ambiguous redirect
npm ERR! mklove/modules/configure.base: line 1019: $MKL_OUTDBG: ambiguous redirect
npm ERR! mklove/modules/configure.base: line 2126: /Users/lucian/1.Projects/test-node-rdkafka-install: No such file or directory
npm ERR! downloading missing module libsasl2 from http://github.com/edenhill/mklove/raw/master/modules/configure.libsasl2
npm ERR! mklove/modules/configure.base: line 1045: $MKL_OUTDBG: ambiguous redirect
npm ERR! mklove/modules/configure.base: line 1019: $MKL_OUTDBG: ambiguous redirect
npm ERR! mklove/modules/configure.base: line 2126: /Users/lucian/1.Projects/test-node-rdkafka-install: No such file or directory
npm ERR! downloading missing module libcurl from http://github.com/edenhill/mklove/raw/master/modules/configure.libcurl
npm ERR! mklove/modules/configure.base: line 1045: $MKL_OUTDBG: ambiguous redirect
npm ERR! mklove/modules/configure.base: line 1019: $MKL_OUTDBG: ambiguous redirect
npm ERR! mklove/modules/configure.base: line 2126: /Users/lucian/1.Projects/test-node-rdkafka-install: No such file or directory
npm ERR! downloading missing module parseversion from http://github.com/edenhill/mklove/raw/master/modules/configure.parseversion
npm ERR! mklove/modules/configure.base: line 1045: $MKL_OUTDBG: ambiguous redirect
npm ERR! mklove/modules/configure.base: line 1019: $MKL_OUTDBG: ambiguous redirect
npm ERR! mklove/modules/configure.base: line 2126: /Users/lucian/1.Projects/test-node-rdkafka-install: No such file or directory
npm ERR! Unknown option prefix=/Users/lucian/1.Projects/test-node-rdkafka-install issue/node_modules/node-rdkafka/build/deps
npm ERR! mklove/modules/configure.base: line 1028: $MKL_OUTDBG: ambiguous redirect
npm ERR! make: *** No rule to make target '../deps/librdkafka/config.h', needed by '11a9e3388a67e1ca5c31c1d8da49cb6d2714eb41.intermediate'. Stop.
npm ERR! gyp ERR! build error
npm ERR! gyp ERR! stack Error: `make` failed with exit code: 2
npm ERR! gyp ERR! stack at ChildProcess.onExit (/Users/lucian/.nvm/versions/node/v16.15.0/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
npm ERR! gyp ERR! stack at ChildProcess.emit (node:events:527:28)
npm ERR! gyp ERR! stack at Process.ChildProcess._handle.onexit (node:internal/child_process:291:12)
npm ERR! gyp ERR! System Darwin 23.1.0
npm ERR! gyp ERR! command "/Users/lucian/.nvm/versions/node/v16.15.0/bin/node" "/Users/lucian/.nvm/versions/node/v16.15.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
npm ERR! gyp ERR! cwd /Users/lucian/1.Projects/test-node-rdkafka-install issue/node_modules/node-rdkafka
npm ERR! gyp ERR! node -v v16.15.0
npm ERR! gyp ERR! node-gyp -v v9.0.0
npm ERR! gyp ERR! not ok
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/lucian/.npm/_logs/2023-11-23T18_29_05_726Z-debug-0.log
```
Contributor guide
Research direction
Start with binding.gyp and the node-gyp rebuild output, then inspect the mklove configure scripts named in the log, especially mklove/modules/configure.base. Reproduce the failure by running npm install in the reported directory containing spaces, and verify that installation completes successfully without the ambiguous redirect or missing-path errors.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, javascript, node.js
- Domain
- build-system, developer-experience
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100