n-riesco / ijavascript

IJavascript is a javascript kernel for the Jupyter notebook
Other
2.19k stars 185 forks source link

installation problem on Mac + Anaconda: "configure: error: C compiler cannot create executables" #199

Closed kaidatavis closed 5 years ago

kaidatavis commented 5 years ago

I am new to Mac and stuck on the second last step of the installation instruction (the first 4 steps went well): npm install -g ijavascript

I have the latest Node (12.4.0) and NPM (6.9.0). It seems that the error is the c compiler (where is the config.log?):

checking whether the C compiler works... no
configure: error: in `/usr/local/lib/node_modules/ijavascript/node_modules/zeromq/zmq/zeromq-4.2.2':
configure: error: C compiler cannot create executables
See `config.log' for more details

I do have the gcc compiler:

(base) Kais-MBP:~ kai$ gcc -v
Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/c++/4.2.1
Apple LLVM version 10.0.1 (clang-1001.0.46.4)
Target: x86_64-apple-darwin18.6.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin

Also, I have both python 2 (/usr/local/bin/python2) and python 3 (/anaconda3/bin/python3). Calling 'python' will run python 3 (3.7.3) not python 2 (2.7.16); I am not sure if this is an issue.

Below is the full output:

(base) Kais-MBP:~ kai$ npm install -g ijavascript
/usr/local/bin/ijs -> /usr/local/lib/node_modules/ijavascript/bin/ijavascript.js
/usr/local/bin/ijsconsole -> /usr/local/lib/node_modules/ijavascript/bin/ijsconsole.js
/usr/local/bin/ijsinstall -> /usr/local/lib/node_modules/ijavascript/bin/ijsinstall.js
/usr/local/bin/ijskernel -> /usr/local/lib/node_modules/ijavascript/lib/kernel.js
/usr/local/bin/ijsnotebook -> /usr/local/lib/node_modules/ijavascript/bin/ijsnotebook.js

> zeromq@4.6.0 install /usr/local/lib/node_modules/ijavascript/node_modules/zeromq
> node scripts/prebuild-install.js || (node scripts/preinstall.js && node-gyp rebuild)

prebuild-install WARN install No prebuilt binaries found (target=12.4.0 runtime=node arch=x64 platform=darwin)

Building libzmq for darwin
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... config/install-sh -c -d
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether UID '501' is supported by ustar format... yes
checking whether GID '20' is supported by ustar format... yes
checking how to create a ustar tar archive... gnutar
checking whether make supports nested variables... (cached) yes
checking for gcc... x86_64-apple-darwin13.4.0-clang
checking whether the C compiler works... no
configure: error: in `/usr/local/lib/node_modules/ijavascript/node_modules/zeromq/zmq/zeromq-4.2.2':
configure: error: C compiler cannot create executables
See `config.log' for more details
child process exited with code 77
make: Entering directory '/usr/local/lib/node_modules/ijavascript/node_modules/zeromq/build'
  CXX(target) Release/obj.target/zmq/binding.o
../binding.cc:28:10: fatal error: 'zmq.h' file not found
#include <zmq.h>
         ^~~~~~~
1 error generated.
make: *** [zmq.target.mk:129: Release/obj.target/zmq/binding.o] Error 1
make: Leaving directory '/usr/local/lib/node_modules/ijavascript/node_modules/zeromq/build'
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: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 Darwin 18.6.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 /usr/local/lib/node_modules/ijavascript/node_modules/zeromq
gyp ERR! node -v v12.4.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok 
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! zeromq@4.6.0 install: `node scripts/prebuild-install.js || (node scripts/preinstall.js && node-gyp rebuild)`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the zeromq@4.6.0 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/kai/.npm/_logs/2019-06-12T23_55_51_043Z-debug.log
(base) Kais-MBP:~ kai$ 

Originally posted by @kaimdx in https://github.com/n-riesco/ijavascript/issues/184#issuecomment-501499746

kaidatavis commented 5 years ago

To find the config.log file, I tried find /usr/local/lib/node_modules/ijavascript/node_modules/zeromq -name config.log, but the result is No such file or directory.

(base) kais-mbp:~ kai$ find /usr/local/lib/node_modules/ijavascript/node_modules/zeromq -name config.log
find: /usr/local/lib/node_modules/ijavascript/node_modules/zeromq: No such file or directory

Actually, I can't find ijavascript or config.log in the `/user/local':

(base) kais-mbp:local kai$ pwd
/usr/local
(base) kais-mbp:local kai$ find . -name ijavascript
(base) kais-mbp:local kai$ find . -name config.log
(base) kais-mbp:local kai$ 
n-riesco commented 5 years ago

Let's try to reproduce the issue with a local installation. Please, could you try the following?

cd
mkdir test
cd test
npm init --yes
npm install ijavascript
find . -name config.log
kaidatavis commented 5 years ago

This is the terminal output, which has the same error message and the find can't find the config.log file and there is no ijavascript directory under node_modules.

Last login: Thu Jun 13 10:25:49 on ttys000
(base) kais-mbp:~ kai$ cd
(base) kais-mbp:~ kai$ mkdir test
(base) kais-mbp:~ kai$ cd test/
(base) kais-mbp:test kai$ npm init --yes
Wrote to /Users/kai/test/package.json:

{
  "name": "test",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
}

(base) kais-mbp:test kai$ npm install ijavascript

> zeromq@4.6.0 install /Users/kai/test/node_modules/zeromq
> node scripts/prebuild-install.js || (node scripts/preinstall.js && node-gyp rebuild)

prebuild-install WARN install No prebuilt binaries found (target=12.4.0 runtime=node arch=x64 platform=darwin)

Building libzmq for darwin
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... config/install-sh -c -d
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether UID '501' is supported by ustar format... yes
checking whether GID '20' is supported by ustar format... yes
checking how to create a ustar tar archive... gnutar
checking whether make supports nested variables... (cached) yes
checking for gcc... x86_64-apple-darwin13.4.0-clang
checking whether the C compiler works... no
configure: error: in `/Users/kai/test/node_modules/zeromq/zmq/zeromq-4.2.2':
configure: error: C compiler cannot create executables
See `config.log' for more details
child process exited with code 77
make: Entering directory '/Users/kai/test/node_modules/zeromq/build'
  CXX(target) Release/obj.target/zmq/binding.o
../binding.cc:28:10: fatal error: 'zmq.h' file not found
#include <zmq.h>
         ^~~~~~~
1 error generated.
make: *** [zmq.target.mk:129: Release/obj.target/zmq/binding.o] Error 1
make: Leaving directory '/Users/kai/test/node_modules/zeromq/build'
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: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 Darwin 18.6.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/kai/test/node_modules/zeromq
gyp ERR! node -v v12.4.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok 
npm WARN test@1.0.0 No description
npm WARN test@1.0.0 No repository field.

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! zeromq@4.6.0 install: `node scripts/prebuild-install.js || (node scripts/preinstall.js && node-gyp rebuild)`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the zeromq@4.6.0 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/kai/.npm/_logs/2019-06-13T10_07_29_927Z-debug.log
(base) kais-mbp:test kai$ find . -name config.log
(base) kais-mbp:test kai$ ls -al
total 8
drwxr-xr-x   4 kai  staff   128 13 Jun 11:07 ./
drwxr-xr-x+ 42 kai  staff  1344 13 Jun 11:06 ../
drwxr-xr-x   5 kai  staff   160 13 Jun 11:07 node_modules/
-rw-r--r--   1 kai  staff   218 13 Jun 11:06 package.json
(base) kais-mbp:test kai$ ls node_modules/
total 0
drwxr-xr-x  13 kai  staff  416 13 Jun 11:07 nel/
drwxr-xr-x  16 kai  staff  512 13 Jun 11:07 uuid/
(base) kais-mbp:test kai$ 
n-riesco commented 5 years ago

:thinking: I wonder whether this config.log is actually created.

Anyway, let's try something else. Since zeromq is the root of the problem, let's try to rebuild it:

cd node_modules/zeromq
npm install --verbose
kaidatavis commented 5 years ago

There isn't a zeromq directory under node_modules:

(base) kais-mbp:node_modules kai$ pwd
/Users/kai/test/node_modules
(base) kais-mbp:node_modules kai$ ls -al
total 0
drwxr-xr-x   5 kai  staff  160 13 Jun 11:07 ./
drwxr-xr-x   4 kai  staff  128 13 Jun 11:07 ../
drwxr-xr-x  13 kai  staff  416 13 Jun 11:07 .bin/
drwxr-xr-x  13 kai  staff  416 13 Jun 11:07 nel/
drwxr-xr-x  16 kai  staff  512 13 Jun 11:07 uuid/
(base) kais-mbp:node_modules kai$ 

Below is the output after ran npm install zeromq --verbose in the test directory. I also attached the log file mentioned at the bottom of the output, as it is otherwise too long to post in the comment. 2019-06-13T11_12_00_540Z-debug.log

(base) kais-mbp:test kai$ npm install zeromq --verbose
npm info it worked if it ends with ok
npm verb cli [
npm verb cli   '/usr/local/bin/node',
npm verb cli   '/usr/local/bin/npm',
npm verb cli   'install',
npm verb cli   'zeromq',
npm verb cli   '--verbose'
npm verb cli ]
npm info using npm@6.9.0
npm info using node@v12.4.0
npm verb npm-session 6bc67eaf5ebcf300
npm http fetch GET 304 https://registry.npmjs.org/zeromq 100ms (from cache)
npm timing stage:loadCurrentTree Completed in 148ms
npm timing stage:loadIdealTree:cloneCurrentTree Completed in 0ms
npm timing stage:loadIdealTree:loadShrinkwrap Completed in 2ms
npm http fetch GET 304 https://registry.npmjs.org/nan 36ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/prebuild-install 44ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/detect-libc 46ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/expand-template 48ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/napi-build-utils 83ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/minimist 94ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/node-abi 94ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/github-from-package 100ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/noop-logger 98ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/mkdirp 103ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/npmlog 104ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/os-homedir 105ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/pump 63ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/rc 68ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/simple-get 34ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/tar-fs 34ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/tunnel-agent 34ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/which-pm-runs 45ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/semver 35ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/gauge 33ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/are-we-there-yet 39ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/console-control-strings 39ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/set-blocking 111ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/readable-stream 28ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/delegates 32ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/isarray 40ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/safe-buffer 43ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/core-util-is 49ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/process-nextick-args 51ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/util-deprecate 52ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/string_decoder 54ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/inherits 60ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/aproba 49ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/object-assign 51ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/has-unicode 55ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/signal-exit 55ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/string-width 57ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/strip-ansi 61ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/wide-align 62ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/code-point-at 25ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/is-fullwidth-code-point 28ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/number-is-nan 72ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/ansi-regex 22ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/once 31ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/end-of-stream 36ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/wrappy 22ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/deep-extend 34ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/ini 40ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/strip-json-comments 78ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/simple-concat 33ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/decompress-response 40ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/mimic-response 31ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/tar-stream 29ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/chownr 62ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/buffer-alloc 42ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/xtend 41ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/to-buffer 46ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/bl 48ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/fs-constants 49ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/buffer-alloc-unsafe 25ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/buffer-fill 36ms (from cache)
npm timing stage:loadIdealTree:loadAllDepsIntoIdealTree Completed in 1098ms
npm timing stage:loadIdealTree Completed in 1125ms
npm timing stage:generateActionsToTake Completed in 10ms
npm verb correctMkdir /Users/kai/.npm/_locks correctMkdir not in flight; initializing
npm verb lock using /Users/kai/.npm/_locks/staging-4d2ba0681fe148e9.lock for /Users/kai/test/node_modules/.staging
npm timing audit submit Completed in 240ms
npm http fetch POST 200 https://registry.npmjs.org/-/npm/v1/security/audits/quick 241ms
npm timing audit body Completed in 1ms
npm timing action:extract Completed in 249ms
npm info lifecycle uuid@3.3.2~preuninstall: uuid@3.3.2
npm info lifecycle uuid@3.3.2~uninstall: uuid@3.3.2
npm verb unbuild rmStuff uuid@3.3.2 from /Users/kai/test/node_modules
npm info lifecycle uuid@3.3.2~postuninstall: uuid@3.3.2
npm info lifecycle nel@0.5.8~preuninstall: nel@0.5.8
npm info lifecycle nel@0.5.8~uninstall: nel@0.5.8
npm verb unbuild rmStuff nel@0.5.8 from /Users/kai/test/node_modules
npm info lifecycle nel@0.5.8~postuninstall: nel@0.5.8
npm timing action:unbuild Completed in 9ms
npm timing action:remove Completed in 10ms
npm timing action:finalize Completed in 123ms
npm timing action:refresh-package-json Completed in 144ms
npm info lifecycle ansi-regex@2.1.1~preinstall: ansi-regex@2.1.1
npm info lifecycle aproba@1.2.0~preinstall: aproba@1.2.0
npm info lifecycle buffer-alloc-unsafe@1.1.0~preinstall: buffer-alloc-unsafe@1.1.0
npm info lifecycle buffer-fill@1.0.0~preinstall: buffer-fill@1.0.0
npm info lifecycle buffer-alloc@1.2.0~preinstall: buffer-alloc@1.2.0
npm info lifecycle chownr@1.1.1~preinstall: chownr@1.1.1
npm info lifecycle code-point-at@1.1.0~preinstall: code-point-at@1.1.0
npm info lifecycle console-control-strings@1.1.0~preinstall: console-control-strings@1.1.0
npm info lifecycle core-util-is@1.0.2~preinstall: core-util-is@1.0.2
npm info lifecycle deep-extend@0.6.0~preinstall: deep-extend@0.6.0
npm info lifecycle delegates@1.0.0~preinstall: delegates@1.0.0
npm info lifecycle detect-libc@1.0.3~preinstall: detect-libc@1.0.3
npm info lifecycle expand-template@1.1.1~preinstall: expand-template@1.1.1
npm info lifecycle fs-constants@1.0.0~preinstall: fs-constants@1.0.0
npm info lifecycle github-from-package@0.0.0~preinstall: github-from-package@0.0.0
npm info lifecycle has-unicode@2.0.1~preinstall: has-unicode@2.0.1
npm info lifecycle inherits@2.0.3~preinstall: inherits@2.0.3
npm info lifecycle ini@1.3.5~preinstall: ini@1.3.5
npm info lifecycle isarray@1.0.0~preinstall: isarray@1.0.0
npm info lifecycle mimic-response@1.0.1~preinstall: mimic-response@1.0.1
npm info lifecycle decompress-response@3.3.0~preinstall: decompress-response@3.3.0
npm info lifecycle minimist@1.2.0~preinstall: minimist@1.2.0
npm info lifecycle minimist@0.0.8~preinstall: minimist@0.0.8
npm info lifecycle mkdirp@0.5.1~preinstall: mkdirp@0.5.1
npm info lifecycle napi-build-utils@1.0.1~preinstall: napi-build-utils@1.0.1
npm info lifecycle noop-logger@0.1.1~preinstall: noop-logger@0.1.1
npm info lifecycle number-is-nan@1.0.1~preinstall: number-is-nan@1.0.1
npm info lifecycle is-fullwidth-code-point@1.0.0~preinstall: is-fullwidth-code-point@1.0.0
npm info lifecycle object-assign@4.1.1~preinstall: object-assign@4.1.1
npm info lifecycle os-homedir@1.0.2~preinstall: os-homedir@1.0.2
npm info lifecycle process-nextick-args@2.0.0~preinstall: process-nextick-args@2.0.0
npm info lifecycle safe-buffer@5.1.2~preinstall: safe-buffer@5.1.2
npm info lifecycle semver@5.7.0~preinstall: semver@5.7.0
npm info lifecycle node-abi@2.8.0~preinstall: node-abi@2.8.0
npm info lifecycle set-blocking@2.0.0~preinstall: set-blocking@2.0.0
npm info lifecycle signal-exit@3.0.2~preinstall: signal-exit@3.0.2
npm info lifecycle simple-concat@1.0.0~preinstall: simple-concat@1.0.0
npm info lifecycle string_decoder@1.1.1~preinstall: string_decoder@1.1.1
npm info lifecycle strip-ansi@3.0.1~preinstall: strip-ansi@3.0.1
npm info lifecycle string-width@1.0.2~preinstall: string-width@1.0.2
npm info lifecycle strip-json-comments@2.0.1~preinstall: strip-json-comments@2.0.1
npm info lifecycle rc@1.2.8~preinstall: rc@1.2.8
npm info lifecycle to-buffer@1.1.1~preinstall: to-buffer@1.1.1
npm info lifecycle tunnel-agent@0.6.0~preinstall: tunnel-agent@0.6.0
npm info lifecycle util-deprecate@1.0.2~preinstall: util-deprecate@1.0.2
npm info lifecycle readable-stream@2.3.6~preinstall: readable-stream@2.3.6
npm info lifecycle are-we-there-yet@1.1.5~preinstall: are-we-there-yet@1.1.5
npm info lifecycle bl@1.2.2~preinstall: bl@1.2.2
npm info lifecycle which-pm-runs@1.0.0~preinstall: which-pm-runs@1.0.0
npm info lifecycle wide-align@1.1.3~preinstall: wide-align@1.1.3
npm info lifecycle zeromq@5.1.0~preinstall: zeromq@5.1.0
npm info lifecycle prebuild-install@5.2.1~preinstall: prebuild-install@5.2.1
npm info lifecycle nan@2.14.0~preinstall: nan@2.14.0
npm info lifecycle tar-fs@1.16.3~preinstall: tar-fs@1.16.3
npm info lifecycle tar-stream@1.6.2~preinstall: tar-stream@1.6.2
npm info lifecycle xtend@4.0.1~preinstall: xtend@4.0.1
npm info lifecycle pump@1.0.3~preinstall: pump@1.0.3
npm info lifecycle simple-get@2.8.1~preinstall: simple-get@2.8.1
npm info lifecycle pump@2.0.1~preinstall: pump@2.0.1
npm info lifecycle end-of-stream@1.4.1~preinstall: end-of-stream@1.4.1
npm info lifecycle once@1.4.0~preinstall: once@1.4.0
npm info lifecycle wrappy@1.0.2~preinstall: wrappy@1.0.2
npm info lifecycle npmlog@4.1.2~preinstall: npmlog@4.1.2
npm info lifecycle gauge@2.7.4~preinstall: gauge@2.7.4
npm timing action:preinstall Completed in 19ms
npm info linkStuff ansi-regex@2.1.1
npm info linkStuff aproba@1.2.0
npm info linkStuff buffer-alloc-unsafe@1.1.0
npm info linkStuff buffer-fill@1.0.0
npm info linkStuff buffer-alloc@1.2.0
npm info linkStuff chownr@1.1.1
npm info linkStuff code-point-at@1.1.0
npm info linkStuff console-control-strings@1.1.0
npm info linkStuff core-util-is@1.0.2
npm info linkStuff deep-extend@0.6.0
npm info linkStuff delegates@1.0.0
npm info linkStuff detect-libc@1.0.3
npm verb linkBins [
npm verb linkBins   { 'detect-libc': './bin/detect-libc.js' },
npm verb linkBins   '/Users/kai/test/node_modules/.bin',
npm verb linkBins   false
npm verb linkBins ]
npm info linkStuff expand-template@1.1.1
npm info linkStuff fs-constants@1.0.0
npm info linkStuff github-from-package@0.0.0
npm info linkStuff has-unicode@2.0.1
npm info linkStuff inherits@2.0.3
npm info linkStuff ini@1.3.5
npm info linkStuff isarray@1.0.0
npm info linkStuff mimic-response@1.0.1
npm info linkStuff decompress-response@3.3.0
npm info linkStuff minimist@1.2.0
npm info linkStuff minimist@0.0.8
npm info linkStuff mkdirp@0.5.1
npm verb linkBins [
npm verb linkBins   { mkdirp: 'bin/cmd.js' },
npm verb linkBins   '/Users/kai/test/node_modules/.bin',
npm verb linkBins   false
npm verb linkBins ]
npm info linkStuff napi-build-utils@1.0.1
npm info linkStuff noop-logger@0.1.1
npm info linkStuff number-is-nan@1.0.1
npm info linkStuff is-fullwidth-code-point@1.0.0
npm info linkStuff object-assign@4.1.1
npm info linkStuff os-homedir@1.0.2
npm info linkStuff process-nextick-args@2.0.0
npm info linkStuff safe-buffer@5.1.2
npm info linkStuff semver@5.7.0
npm verb linkBins [
npm verb linkBins   { semver: './bin/semver' },
npm verb linkBins   '/Users/kai/test/node_modules/.bin',
npm verb linkBins   false
npm verb linkBins ]
npm info linkStuff node-abi@2.8.0
npm info linkStuff set-blocking@2.0.0
npm info linkStuff signal-exit@3.0.2
npm info linkStuff simple-concat@1.0.0
npm info linkStuff string_decoder@1.1.1
npm info linkStuff strip-ansi@3.0.1
npm info linkStuff string-width@1.0.2
npm info linkStuff strip-json-comments@2.0.1
npm info linkStuff rc@1.2.8
npm verb linkBins [ { rc: './cli.js' }, '/Users/kai/test/node_modules/.bin', false ]
npm info linkStuff to-buffer@1.1.1
npm info linkStuff tunnel-agent@0.6.0
npm info linkStuff util-deprecate@1.0.2
npm info linkStuff readable-stream@2.3.6
npm info linkStuff are-we-there-yet@1.1.5
npm info linkStuff bl@1.2.2
npm info linkStuff which-pm-runs@1.0.0
npm info linkStuff wide-align@1.1.3
npm info linkStuff gauge@2.7.4
npm info linkStuff npmlog@4.1.2
npm info linkStuff wrappy@1.0.2
npm info linkStuff once@1.4.0
npm info linkStuff end-of-stream@1.4.1
npm info linkStuff pump@2.0.1
npm info linkStuff simple-get@2.8.1
npm info linkStuff pump@1.0.3
npm info linkStuff xtend@4.0.1
npm info linkStuff tar-stream@1.6.2
npm info linkStuff tar-fs@1.16.3
npm info linkStuff nan@2.14.0
npm info linkStuff prebuild-install@5.2.1
npm verb linkBins [
npm verb linkBins   { 'prebuild-install': './bin.js' },
npm verb linkBins   '/Users/kai/test/node_modules/.bin',
npm verb linkBins   false
npm verb linkBins ]
npm info linkStuff zeromq@5.1.0
npm timing action:build Completed in 37ms
npm info lifecycle ansi-regex@2.1.1~install: ansi-regex@2.1.1
npm info lifecycle aproba@1.2.0~install: aproba@1.2.0
npm info lifecycle buffer-alloc-unsafe@1.1.0~install: buffer-alloc-unsafe@1.1.0
npm info lifecycle buffer-fill@1.0.0~install: buffer-fill@1.0.0
npm info lifecycle buffer-alloc@1.2.0~install: buffer-alloc@1.2.0
npm info lifecycle chownr@1.1.1~install: chownr@1.1.1
npm info lifecycle code-point-at@1.1.0~install: code-point-at@1.1.0
npm info lifecycle console-control-strings@1.1.0~install: console-control-strings@1.1.0
npm info lifecycle core-util-is@1.0.2~install: core-util-is@1.0.2
npm info lifecycle deep-extend@0.6.0~install: deep-extend@0.6.0
npm info lifecycle delegates@1.0.0~install: delegates@1.0.0
npm info lifecycle detect-libc@1.0.3~install: detect-libc@1.0.3
npm info lifecycle expand-template@1.1.1~install: expand-template@1.1.1
npm info lifecycle fs-constants@1.0.0~install: fs-constants@1.0.0
npm info lifecycle github-from-package@0.0.0~install: github-from-package@0.0.0
npm info lifecycle has-unicode@2.0.1~install: has-unicode@2.0.1
npm info lifecycle inherits@2.0.3~install: inherits@2.0.3
npm info lifecycle ini@1.3.5~install: ini@1.3.5
npm info lifecycle isarray@1.0.0~install: isarray@1.0.0
npm info lifecycle mimic-response@1.0.1~install: mimic-response@1.0.1
npm info lifecycle decompress-response@3.3.0~install: decompress-response@3.3.0
npm info lifecycle minimist@1.2.0~install: minimist@1.2.0
npm info lifecycle minimist@0.0.8~install: minimist@0.0.8
npm info lifecycle mkdirp@0.5.1~install: mkdirp@0.5.1
npm info lifecycle napi-build-utils@1.0.1~install: napi-build-utils@1.0.1
npm info lifecycle noop-logger@0.1.1~install: noop-logger@0.1.1
npm info lifecycle number-is-nan@1.0.1~install: number-is-nan@1.0.1
npm info lifecycle is-fullwidth-code-point@1.0.0~install: is-fullwidth-code-point@1.0.0
npm info lifecycle object-assign@4.1.1~install: object-assign@4.1.1
npm info lifecycle os-homedir@1.0.2~install: os-homedir@1.0.2
npm info lifecycle process-nextick-args@2.0.0~install: process-nextick-args@2.0.0
npm info lifecycle safe-buffer@5.1.2~install: safe-buffer@5.1.2
npm info lifecycle semver@5.7.0~install: semver@5.7.0
npm info lifecycle node-abi@2.8.0~install: node-abi@2.8.0
npm info lifecycle set-blocking@2.0.0~install: set-blocking@2.0.0
npm info lifecycle signal-exit@3.0.2~install: signal-exit@3.0.2
npm info lifecycle simple-concat@1.0.0~install: simple-concat@1.0.0
npm info lifecycle string_decoder@1.1.1~install: string_decoder@1.1.1
npm info lifecycle strip-ansi@3.0.1~install: strip-ansi@3.0.1
npm info lifecycle string-width@1.0.2~install: string-width@1.0.2
npm info lifecycle strip-json-comments@2.0.1~install: strip-json-comments@2.0.1
npm info lifecycle rc@1.2.8~install: rc@1.2.8
npm info lifecycle to-buffer@1.1.1~install: to-buffer@1.1.1
npm info lifecycle tunnel-agent@0.6.0~install: tunnel-agent@0.6.0
npm info lifecycle util-deprecate@1.0.2~install: util-deprecate@1.0.2
npm info lifecycle readable-stream@2.3.6~install: readable-stream@2.3.6
npm info lifecycle are-we-there-yet@1.1.5~install: are-we-there-yet@1.1.5
npm info lifecycle bl@1.2.2~install: bl@1.2.2
npm info lifecycle which-pm-runs@1.0.0~install: which-pm-runs@1.0.0
npm info lifecycle wide-align@1.1.3~install: wide-align@1.1.3
npm info lifecycle gauge@2.7.4~install: gauge@2.7.4
npm info lifecycle npmlog@4.1.2~install: npmlog@4.1.2
npm info lifecycle wrappy@1.0.2~install: wrappy@1.0.2
npm info lifecycle once@1.4.0~install: once@1.4.0
npm info lifecycle end-of-stream@1.4.1~install: end-of-stream@1.4.1
npm info lifecycle pump@2.0.1~install: pump@2.0.1
npm info lifecycle simple-get@2.8.1~install: simple-get@2.8.1
npm info lifecycle pump@1.0.3~install: pump@1.0.3
npm info lifecycle xtend@4.0.1~install: xtend@4.0.1
npm info lifecycle tar-stream@1.6.2~install: tar-stream@1.6.2
npm info lifecycle tar-fs@1.16.3~install: tar-fs@1.16.3
npm info lifecycle nan@2.14.0~install: nan@2.14.0
npm info lifecycle prebuild-install@5.2.1~install: prebuild-install@5.2.1
npm info lifecycle zeromq@5.1.0~install: zeromq@5.1.0

> zeromq@5.1.0 install /Users/kai/test/node_modules/zeromq
> node scripts/prebuild-install.js || (node scripts/preinstall.js && node-gyp rebuild)

prebuild-install info begin Prebuild-install version 5.2.1
prebuild-install info looking for cached prebuild @ /Users/kai/.npm/_prebuilds/a302cb-zeromq-v5.1.0-node-v72-darwin-x64.tar.gz
prebuild-install http request GET https://github.com/zeromq/zeromq.js/releases/download/v5.1.0/zeromq-v5.1.0-node-v72-darwin-x64.tar.gz
prebuild-install http 404 https://github.com/zeromq/zeromq.js/releases/download/v5.1.0/zeromq-v5.1.0-node-v72-darwin-x64.tar.gz
prebuild-install WARN install No prebuilt binaries found (target=12.4.0 runtime=node arch=x64 platform=darwin)

Building libzmq for darwin
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... config/install-sh -c -d
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether UID '501' is supported by ustar format... yes
checking whether GID '20' is supported by ustar format... yes
checking how to create a ustar tar archive... gnutar
checking whether make supports nested variables... (cached) yes
checking for gcc... x86_64-apple-darwin13.4.0-clang
checking whether the C compiler works... no
configure: error: in `/Users/kai/test/node_modules/zeromq/zmq/zeromq-4.2.2':
configure: error: C compiler cannot create executables
See `config.log' for more details
child process exited with code 77
gyp info it worked if it ends with ok
gyp verb cli [
gyp verb cli   '/usr/local/bin/node',
gyp verb cli   '/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js',
gyp verb cli   'rebuild'
gyp verb cli ]
gyp info using node-gyp@3.8.0
gyp info using node@12.4.0 | darwin | x64
gyp verb command rebuild []
gyp verb command clean []
gyp verb clean removing "build" directory
gyp verb command configure []
gyp verb check python checking for Python executable "python2" in the PATH
gyp verb `which` succeeded python2 /usr/local/bin/python2
gyp verb check python version `/usr/local/bin/python2 -c "import sys; print "2.7.16
gyp verb check python version .%s.%s" % sys.version_info[:3];"` returned: %j
gyp verb get node dir no --target version specified, falling back to host node version: 12.4.0
gyp verb command install [ '12.4.0' ]
gyp verb install input version string "12.4.0"
gyp verb install installing version: 12.4.0
gyp verb install --ensure was passed, so won't reinstall if already installed
gyp verb install version is already installed, need to check "installVersion"
gyp verb got "installVersion" 9
gyp verb needs "installVersion" 9
gyp verb install version is good
gyp verb get node dir target node version installed: 12.4.0
gyp verb build dir attempting to create "build" dir: /Users/kai/test/node_modules/zeromq/build
gyp verb build dir "build" dir needed to be created? /Users/kai/test/node_modules/zeromq/build
gyp verb build/config.gypi creating config file
gyp verb build/config.gypi writing out config file: /Users/kai/test/node_modules/zeromq/build/config.gypi
gyp verb config.gypi checking for gypi file: /Users/kai/test/node_modules/zeromq/config.gypi
gyp verb common.gypi checking for gypi file: /Users/kai/test/node_modules/zeromq/common.gypi
gyp verb gyp gyp format was not specified; forcing "make"
gyp info spawn /usr/local/bin/python2
gyp info spawn args [
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   '/Users/kai/test/node_modules/zeromq/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   '/Users/kai/.node-gyp/12.4.0/include/node/common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=/Users/kai/.node-gyp/12.4.0',
gyp info spawn args   '-Dnode_gyp_dir=/usr/local/lib/node_modules/npm/node_modules/node-gyp',
gyp info spawn args   '-Dnode_lib_file=/Users/kai/.node-gyp/12.4.0/<(target_arch)/node.lib',
gyp info spawn args   '-Dmodule_root_dir=/Users/kai/test/node_modules/zeromq',
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 args ]
gyp verb command build []
gyp verb build type Release
gyp verb architecture x64
gyp verb node dev dir /Users/kai/.node-gyp/12.4.0
gyp verb `which` succeeded for `make` /anaconda3/bin/make
gyp info spawn make
gyp info spawn args [ 'V=1', 'BUILDTYPE=Release', '-C', 'build' ]
make: Entering directory '/Users/kai/test/node_modules/zeromq/build'
  x86_64-apple-darwin13.4.0-clang++ '-DNODE_GYP_MODULE_NAME=zmq' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' '-DV8_DEPRECATION_WARNINGS=1' '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_DARWIN_USE_64_BIT_INODE=1' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DOPENSSL_THREADS' '-DBUILDING_NODE_EXTENSION' -I/Users/kai/.node-gyp/12.4.0/include/node -I/Users/kai/.node-gyp/12.4.0/src -I/Users/kai/.node-gyp/12.4.0/deps/openssl/config -I/Users/kai/.node-gyp/12.4.0/deps/openssl/openssl/include -I/Users/kai/.node-gyp/12.4.0/deps/uv/include -I/Users/kai/.node-gyp/12.4.0/deps/zlib -I/Users/kai/.node-gyp/12.4.0/deps/v8/include -I../../nan -I./Release/../../zmq/include  -Os -gdwarf-2 -mmacosx-version-min=10.9 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu++1y -stdlib=libc++ -fno-rtti -fno-strict-aliasing -MMD -MF ./Release/.deps/Release/obj.target/zmq/binding.o.d.raw -D_FORTIFY_SOURCE=2 -mmacosx-version-min=10.9 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -stdlib=libc++ -fvisibility-inlines-hidden -std=c++14 -fmessage-length=0 -c -o Release/obj.target/zmq/binding.o ../binding.cc
../binding.cc:28:10: fatal error: 'zmq.h' file not found
#include <zmq.h>
         ^~~~~~~
1 error generated.
make: *** [zmq.target.mk:129: Release/obj.target/zmq/binding.o] Error 1
make: Leaving directory '/Users/kai/test/node_modules/zeromq/build'
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: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 Darwin 18.6.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/kai/test/node_modules/zeromq
gyp ERR! node -v v12.4.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok 
npm verb lifecycle zeromq@5.1.0~install: unsafe-perm in lifecycle true
npm verb lifecycle zeromq@5.1.0~install: PATH: /usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/Users/kai/test/node_modules/zeromq/node_modules/.bin:/Users/kai/test/node_modules/.bin:/anaconda3/bin:/anaconda3/condabin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
npm verb lifecycle zeromq@5.1.0~install: CWD: /Users/kai/test/node_modules/zeromq
npm info lifecycle zeromq@5.1.0~install: Failed to exec install script
npm timing action:install Completed in 4857ms
npm verb unlock done using /Users/kai/.npm/_locks/staging-4d2ba0681fe148e9.lock for /Users/kai/test/node_modules/.staging
npm timing stage:rollbackFailedOptional Completed in 186ms
npm timing stage:runTopLevelLifecycles Completed in 6976ms
npm WARN test@1.0.0 No description
npm WARN test@1.0.0 No repository field.

npm verb stack Error: zeromq@5.1.0 install: `node scripts/prebuild-install.js || (node scripts/preinstall.js && node-gyp rebuild)`
npm verb stack Exit status 1
npm verb stack     at EventEmitter.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:301:16)
npm verb stack     at EventEmitter.emit (events.js:200:13)
npm verb stack     at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
npm verb stack     at ChildProcess.emit (events.js:200:13)
npm verb stack     at maybeClose (internal/child_process.js:1021:16)
npm verb stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:283:5)
npm verb pkgid zeromq@5.1.0
npm verb cwd /Users/kai/test
npm verb Darwin 18.6.0
npm verb argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "zeromq" "--verbose"
npm verb node v12.4.0
npm verb npm  v6.9.0
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! zeromq@5.1.0 install: `node scripts/prebuild-install.js || (node scripts/preinstall.js && node-gyp rebuild)`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the zeromq@5.1.0 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm verb exit [ 1, true ]
npm timing npm Completed in 7240ms

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/kai/.npm/_logs/2019-06-13T11_12_00_540Z-debug.log
n-riesco commented 5 years ago

Have you checked if npm install zeromq created a config.log?

If it didn't, let's try to create it:

cd /Users/kai/test/node_modules/zeromq/
node scripts/preinstall.js
find . -name config.log

PS: Not really important now, but IJavascript uses zeromq@4 (the latest version is 5.1.0).

kaidatavis commented 5 years ago

Yes, there was a log file (/Users/kai/.npm/_logs/2019-06-13T11_12_00_540Z-debug.log), which I attached to the last post at it is quite long. I attached to this post again. This is generated after running npm install zeromq --verbose.

2019-06-13T11_12_00_540Z-debug.log

After running that, currently the node_modules directory is empty, no sub-directory at all. I can't run scripts/preinstall.js script as it does not exist.

(base) kais-mbp:node_modules kai$ ls -al
total 0
drwxr-xr-x   3 kai  staff   96 13 Jun 12:12 ./
drwxr-xr-x   4 kai  staff  128 13 Jun 11:07 ../
drwxr-xr-x  12 kai  staff  384 13 Jun 12:11 .bin/
(base) kais-mbp:node_modules kai$ 
n-riesco commented 5 years ago

I'm not after npm's log. I'd like to understand why configure fails with:

checking whether the C compiler works... no
configure: error: in `/Users/kai/test/node_modules/zeromq/zmq/zeromq-4.2.2':
configure: error: C compiler cannot create executables
See `config.log' for more details
child process exited with code 77

This is what I get when I run the above in my test machine:

$ rm zmq/BUILD_SUCCESS 
$ node scripts/preinstall.js 
Building libzmq for linux
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether UID '1000' is supported by ustar format... yes
checking whether GID '1000' is supported by ustar format... yes
checking how to create a ustar tar archive... gnutar
checking whether make supports nested variables... (cached) yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking whether C compiler accepts -std=gnu11... yes
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking whether g++ supports C++11 features by default... yes
checking for a sed that does not truncate output... /bin/sed
checking whether to build with code coverage support... no
checking for a sed that does not truncate output... (cached) /bin/sed
checking for gawk... (cached) mawk
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for xmlto... no
checking for asciidoc... no
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking how to print strings... printf
checking for a sed that does not truncate output... (cached) /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... dlltool
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for mt... mt
checking if mt is a manifest tool... no
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... no
checking whether to build static libraries... yes
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC -DPIC
checking if g++ PIC flag -fPIC -DPIC works... yes
checking if g++ static flag -static works... yes
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking for valgrind... no
checking whether the C compiler works... yes
checking whether we are using Intel C compiler... no
checking whether we are using Sun Studio C compiler... no
checking whether we are using clang C compiler... no
checking whether we are using gcc >= 4 C compiler... yes
checking whether the C++ compiler works... yes
checking whether we are using Intel C++ compiler... no
checking whether we are using Sun Studio C++ compiler... no
checking whether we are using clang C++ compiler... no
checking whether we are using gcc >= 4 C++ compiler... yes
checking whether to enable debugging information... no
checking whether to enable code coverage... no
checking if TIPC is available and supports nonblocking connect... no
checking for library containing dladdr... -ldl
checking for pthread_create in -lpthread... yes
checking for clock_gettime in -lrt... yes
checking whether C++ compiler supports -fvisibility=hidden... yes
checking whether C++ compiler supports dso visibility... yes
checking whether to build documentation... no
checking whether to install manpages... no
configure: Choosing polling system from 'kqueue epoll devpoll pollset poll select'...
configure: Using 'epoll' polling system with CLOEXEC
checking for ANSI C header files... (cached) yes
checking errno.h usability... yes
checking errno.h presence... yes
checking for errno.h... yes
checking time.h usability... yes
checking time.h presence... yes
checking for time.h... yes
checking for unistd.h... (cached) yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking stddef.h usability... yes
checking stddef.h presence... yes
checking for stddef.h... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking arpa/inet.h usability... yes
checking arpa/inet.h presence... yes
checking for arpa/inet.h... yes
checking netinet/tcp.h usability... yes
checking netinet/tcp.h presence... yes
checking for netinet/tcp.h... yes
checking netinet/in.h usability... yes
checking netinet/in.h presence... yes
checking for netinet/in.h... yes
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking ifaddrs.h usability... yes
checking ifaddrs.h presence... yes
checking for ifaddrs.h... yes
checking sys/uio.h usability... yes
checking sys/uio.h presence... yes
checking for sys/uio.h... yes
checking sys/eventfd.h usability... yes
checking sys/eventfd.h presence... yes
checking for sys/eventfd.h... yes
checking whether EFD_CLOEXEC is supported... yes
checking whether SO_PEERCRED is declared... yes
checking whether LOCAL_PEERCRED is declared... no
checking for stdbool.h that conforms to C99... no
checking for _Bool... no
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking for size_t... yes
checking for ssize_t... yes
checking whether time.h and sys/time.h may both be included... yes
checking for uint32_t... yes
checking for working volatile... yes
configure: Using tweetnacl for CURVE security
checking "with_norm_ext = no"... no
checking how to enable additional warnings for C++ compiler... -Wall
checking how to turn warnings to errors in C++ compiler... -Werror
checking whether compiler supports __atomic_Xxx intrinsics... yes
checking return type of signal handlers... void
checking for perror... yes
checking for gettimeofday... yes
checking for clock_gettime... yes
checking for memset... no
checking for socket... yes
checking for getifaddrs... yes
checking for freeifaddrs... yes
checking for fork... no
checking for posix_memalign... no
checking for mkdtemp... yes
checking alloca.h usability... yes
checking alloca.h presence... yes
checking for alloca.h... yes
checking whether SOCK_CLOEXEC is supported... yes
checking whether SO_KEEPALIVE is supported... yes
checking whether TCP_KEEPCNT is supported... yes
checking whether TCP_KEEPIDLE is supported... yes
checking whether TCP_KEEPINTVL is supported... yes
checking whether TCP_KEEPALIVE is supported... no
checking for ./.git... no
configure: Building stable and legacy API (no draft API)
checking for LIBUNWIND... no
configure: WARNING: Cannot find libunwind
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/libzmq.pc
config.status: creating doc/Makefile
config.status: creating builds/Makefile
config.status: creating builds/msvc/Makefile
config.status: creating src/platform.hpp
config.status: executing depfiles commands
config.status: executing libtool commands
Making all in doc
make[1]: Entering directory '/home/user/test/node_modules/zeromq/zmq/zeromq-4.2.2/doc'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/user/test/node_modules/zeromq/zmq/zeromq-4.2.2/doc'
make[1]: Entering directory '/home/user/test/node_modules/zeromq/zmq/zeromq-4.2.2'
  CXX      src/src_libzmq_la-address.lo
  CXX      src/src_libzmq_la-client.lo
  CXX      src/src_libzmq_la-clock.lo
  CXX      src/src_libzmq_la-ctx.lo
  CXX      src/src_libzmq_la-curve_client.lo
  CXX      src/src_libzmq_la-curve_server.lo
  CXX      src/src_libzmq_la-dealer.lo
  CXX      src/src_libzmq_la-devpoll.lo
  CXX      src/src_libzmq_la-dgram.lo
  CXX      src/src_libzmq_la-dish.lo
  CXX      src/src_libzmq_la-dist.lo
  CXX      src/src_libzmq_la-epoll.lo
  CXX      src/src_libzmq_la-err.lo
  CXX      src/src_libzmq_la-fq.lo
  CXX      src/src_libzmq_la-gather.lo
  CXX      src/src_libzmq_la-gssapi_mechanism_base.lo
  CXX      src/src_libzmq_la-gssapi_client.lo
  CXX      src/src_libzmq_la-gssapi_server.lo
  CXX      src/src_libzmq_la-io_object.lo
  CXX      src/src_libzmq_la-io_thread.lo
  CXX      src/src_libzmq_la-ip.lo
  CXX      src/src_libzmq_la-ipc_address.lo
  CXX      src/src_libzmq_la-ipc_connecter.lo
  CXX      src/src_libzmq_la-ipc_listener.lo
  CXX      src/src_libzmq_la-kqueue.lo
  CXX      src/src_libzmq_la-lb.lo
  CXX      src/src_libzmq_la-mailbox.lo
  CXX      src/src_libzmq_la-mailbox_safe.lo
  CXX      src/src_libzmq_la-mechanism.lo
  CXX      src/src_libzmq_la-metadata.lo
  CXX      src/src_libzmq_la-msg.lo
  CXX      src/src_libzmq_la-mtrie.lo
  CXX      src/src_libzmq_la-norm_engine.lo
  CXX      src/src_libzmq_la-null_mechanism.lo
  CXX      src/src_libzmq_la-object.lo
  CXX      src/src_libzmq_la-options.lo
  CXX      src/src_libzmq_la-own.lo
  CXX      src/src_libzmq_la-pair.lo
  CXX      src/src_libzmq_la-pgm_receiver.lo
  CXX      src/src_libzmq_la-pgm_sender.lo
  CXX      src/src_libzmq_la-pgm_socket.lo
  CXX      src/src_libzmq_la-pipe.lo
  CXX      src/src_libzmq_la-plain_client.lo
  CXX      src/src_libzmq_la-plain_server.lo
  CXX      src/src_libzmq_la-poll.lo
  CXX      src/src_libzmq_la-poller_base.lo
  CXX      src/src_libzmq_la-pollset.lo
  CXX      src/src_libzmq_la-precompiled.lo
  CXX      src/src_libzmq_la-proxy.lo
  CXX      src/src_libzmq_la-pub.lo
  CXX      src/src_libzmq_la-pull.lo
  CXX      src/src_libzmq_la-push.lo
  CXX      src/src_libzmq_la-radio.lo
  CXX      src/src_libzmq_la-random.lo
  CXX      src/src_libzmq_la-raw_decoder.lo
  CXX      src/src_libzmq_la-raw_encoder.lo
  CXX      src/src_libzmq_la-reaper.lo
  CXX      src/src_libzmq_la-rep.lo
  CXX      src/src_libzmq_la-req.lo
  CXX      src/src_libzmq_la-router.lo
  CXX      src/src_libzmq_la-scatter.lo
  CXX      src/src_libzmq_la-select.lo
  CXX      src/src_libzmq_la-server.lo
  CXX      src/src_libzmq_la-session_base.lo
  CXX      src/src_libzmq_la-signaler.lo
  CXX      src/src_libzmq_la-socket_base.lo
  CXX      src/src_libzmq_la-socks.lo
  CXX      src/src_libzmq_la-socks_connecter.lo
  CXX      src/src_libzmq_la-stream.lo
  CXX      src/src_libzmq_la-stream_engine.lo
  CXX      src/src_libzmq_la-sub.lo
  CXX      src/src_libzmq_la-tcp.lo
  CXX      src/src_libzmq_la-tcp_address.lo
  CXX      src/src_libzmq_la-tcp_connecter.lo
  CXX      src/src_libzmq_la-tcp_listener.lo
  CXX      src/src_libzmq_la-thread.lo
  CXX      src/src_libzmq_la-timers.lo
  CXX      src/src_libzmq_la-tipc_address.lo
  CXX      src/src_libzmq_la-tipc_connecter.lo
  CXX      src/src_libzmq_la-tipc_listener.lo
  CXX      src/src_libzmq_la-trie.lo
  CXX      src/src_libzmq_la-udp_address.lo
  CXX      src/src_libzmq_la-udp_engine.lo
  CXX      src/src_libzmq_la-v1_decoder.lo
  CXX      src/src_libzmq_la-v2_decoder.lo
  CXX      src/src_libzmq_la-v1_encoder.lo
  CXX      src/src_libzmq_la-v2_encoder.lo
  CXX      src/src_libzmq_la-vmci.lo
  CXX      src/src_libzmq_la-vmci_address.lo
  CXX      src/src_libzmq_la-vmci_connecter.lo
  CXX      src/src_libzmq_la-vmci_listener.lo
  CXX      src/src_libzmq_la-xpub.lo
  CXX      src/src_libzmq_la-xsub.lo
  CXX      src/src_libzmq_la-zmq.lo
  CXX      src/src_libzmq_la-zmq_utils.lo
  CXX      src/src_libzmq_la-decoder_allocators.lo
  CXX      src/src_libzmq_la-socket_poller.lo
  CC       src/src_libzmq_la-tweetnacl.lo
  CXX      tools/curve_keygen.o
  CXX      perf/local_lat.o
  CXX      perf/remote_lat.o
  CXX      perf/local_thr.o
  CXX      perf/remote_thr.o
  CXX      perf/inproc_lat.o
  CXX      perf/inproc_thr.o
  CXXLD    src/libzmq.la
ar: `u' modifier ignored since `D' is the default (see `U')
  CXXLD    tools/curve_keygen
  CXXLD    perf/local_lat
  CXXLD    perf/remote_lat
  CXXLD    perf/local_thr
  CXXLD    perf/remote_thr
  CXXLD    perf/inproc_lat
  CXXLD    perf/inproc_thr
make[1]: Leaving directory '/home/user/test/node_modules/zeromq/zmq/zeromq-4.2.2'
Making install in doc
make[1]: Entering directory '/home/user/test/node_modules/zeromq/zmq/zeromq-4.2.2/doc'
make[2]: Entering directory '/home/user/test/node_modules/zeromq/zmq/zeromq-4.2.2/doc'
make[2]: Nothing to be done for 'install-exec-am'.
make[2]: Leaving directory '/home/user/test/node_modules/zeromq/zmq/zeromq-4.2.2/doc'
make[1]: Leaving directory '/home/user/test/node_modules/zeromq/zmq/zeromq-4.2.2/doc'
make[1]: Entering directory '/home/user/test/node_modules/zeromq/zmq/zeromq-4.2.2'
make[2]: Entering directory '/home/user/test/node_modules/zeromq/zmq/zeromq-4.2.2'
 /bin/mkdir -p '/home/user/test/node_modules/zeromq/scripts/../zmq/lib'
 /bin/bash ./libtool   --mode=install /usr/bin/install -c   src/libzmq.la '/home/user/test/node_modules/zeromq/scripts/../zmq/lib'
libtool: install: /usr/bin/install -c src/.libs/libzmq.lai /home/user/test/node_modules/zeromq/scripts/../zmq/lib/libzmq.la
libtool: install: /usr/bin/install -c src/.libs/libzmq.a /home/user/test/node_modules/zeromq/scripts/../zmq/lib/libzmq.a
libtool: install: chmod 644 /home/user/test/node_modules/zeromq/scripts/../zmq/lib/libzmq.a
libtool: install: ranlib /home/user/test/node_modules/zeromq/scripts/../zmq/lib/libzmq.a
libtool: finish: PATH="/home/user/jp/bin:/home/user/bin:/home/user/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/sbin" ldconfig -n /home/user/test/node_modules/zeromq/scripts/../zmq/lib
----------------------------------------------------------------------
Libraries have been installed in:
   /home/user/test/node_modules/zeromq/scripts/../zmq/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
 /bin/mkdir -p '/home/user/test/node_modules/zeromq/scripts/../zmq/bin'
  /bin/bash ./libtool   --mode=install /usr/bin/install -c tools/curve_keygen '/home/user/test/node_modules/zeromq/scripts/../zmq/bin'
libtool: install: /usr/bin/install -c tools/curve_keygen /home/user/test/node_modules/zeromq/scripts/../zmq/bin/curve_keygen
 /bin/mkdir -p '/home/user/test/node_modules/zeromq/scripts/../zmq/include'
 /usr/bin/install -c -m 644 include/zmq.h include/zmq_utils.h '/home/user/test/node_modules/zeromq/scripts/../zmq/include'
 /bin/mkdir -p '/home/user/test/node_modules/zeromq/scripts/../zmq/lib/pkgconfig'
 /usr/bin/install -c -m 644 src/libzmq.pc '/home/user/test/node_modules/zeromq/scripts/../zmq/lib/pkgconfig'
make[2]: Leaving directory '/home/user/test/node_modules/zeromq/zmq/zeromq-4.2.2'
make[1]: Leaving directory '/home/user/test/node_modules/zeromq/zmq/zeromq-4.2.2'
Succesfully build libzmq on Thu Jun 13 2019 13:05:23 GMT-0400 (EDT)
n-riesco commented 5 years ago

@kaimdx I'm not going to be able to look at this until Monday. Please, could you remind me on Monday if I haven't replied to you?

kaidatavis commented 5 years ago

@n-riesco sure, I will post a message here next Monday if I don't hear anything before that. I added a reminder in my calendar. Thanks.

kaidatavis commented 5 years ago

@n-riesco, as requested, a quick reminder about this issue.

n-riesco commented 5 years ago

@kaimdx Have you had chance to see what you get when you do this?

$ rm zmq/BUILD_SUCCESS 
$ node scripts/preinstall.js 
[...]
kaidatavis commented 5 years ago

I'm a bit confused.

I followed the initial testing steps, and the last line didn't find any config.log file.

cd
mkdir test
cd test
npm init --yes
npm install ijavascript
find . -name config.log

After these steps, there is no zeromq directory under node_modules (/user/kai/test/node_modules), so I can't run either these steps or these steps.

What I did try is to install zeromq in the test directory with the --verbose switch: npm install zeromq --verbose, the output of which is in this post, which has the log file 2019-06-13T11_12_00_540Z-debug.log attached (the log file mentioned at the end of the installation output). There is still no config.log file in this case.

n-riesco commented 5 years ago

Sorry about that. What I'd like to see is what you get when you run:

cd /Users/kai/test/node_modules/zeromq/
rm -f zmq/BUILD_SUCCESS
node scripts/preinstall.js
find . -name config.log
kaidatavis commented 5 years ago

@n-riesco what can I do if there is not a zeromq directory under node_modules (/user/kai/test/node_modules)? Do you think that the zeromq directory may be somewhere else? Just to confirm that I am running MacOS 10.14.5.

n-riesco commented 5 years ago

Let's try to install zeromq manually:

cd /Users/kai/test/
npm install zeromq

(npm install zeromq should output the folder where zeromq is installed).

And again:

cd /Users/kai/test/node_modules/zeromq/
rm -f zmq/BUILD_SUCCESS
node scripts/preinstall.js
find . -name config.log
kaidatavis commented 5 years ago

Below is the output from running npm install zeromq in the /user/kai/test directory. It does say that the zeromq directory is /Users/kai/test/node_modules/zeromq/. However, when I checked afterward the installation, there is still no zeromq directory under /user/kai/test/node_modules (the ls -al result is at the end of the output). Maybe zeromq directory is deleted because of the error?

(base) Kais-MacBook-Pro:test kai$ npm install zeromq

> zeromq@5.1.0 install /Users/kai/test/node_modules/zeromq
> node scripts/prebuild-install.js || (node scripts/preinstall.js && node-gyp rebuild)

prebuild-install WARN install No prebuilt binaries found (target=12.4.0 runtime=node arch=x64 platform=darwin)

Building libzmq for darwin
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... config/install-sh -c -d
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether UID '501' is supported by ustar format... yes
checking whether GID '20' is supported by ustar format... yes
checking how to create a ustar tar archive... gnutar
checking whether make supports nested variables... (cached) yes
checking for gcc... x86_64-apple-darwin13.4.0-clang
checking whether the C compiler works... no
configure: error: in `/Users/kai/test/node_modules/zeromq/zmq/zeromq-4.2.2':
configure: error: C compiler cannot create executables
See `config.log' for more details
child process exited with code 77
make: Entering directory '/Users/kai/test/node_modules/zeromq/build'
  CXX(target) Release/obj.target/zmq/binding.o
../binding.cc:28:10: fatal error: 'zmq.h' file not found
#include <zmq.h>
         ^~~~~~~
1 error generated.
make: *** [zmq.target.mk:129: Release/obj.target/zmq/binding.o] Error 1
make: Leaving directory '/Users/kai/test/node_modules/zeromq/build'
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: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 Darwin 18.6.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/kai/test/node_modules/zeromq
gyp ERR! node -v v12.4.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok 
npm WARN test@1.0.0 No description
npm WARN test@1.0.0 No repository field.

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! zeromq@5.1.0 install: `node scripts/prebuild-install.js || (node scripts/preinstall.js && node-gyp rebuild)`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the zeromq@5.1.0 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/kai/.npm/_logs/2019-06-18T10_22_32_124Z-debug.log
(base) Kais-MacBook-Pro:test kai$ cd node_modules/
(base) Kais-MacBook-Pro:node_modules kai$ ls
(base) Kais-MacBook-Pro:node_modules kai$ ls -al
total 0
drwxr-xr-x   3 kai  staff   96 18 Jun 11:22 ./
drwxr-xr-x   5 kai  staff  160 17 Jun 14:09 ../
drwxr-xr-x  12 kai  staff  384 17 Jun 14:09 .bin/
(base) Kais-MacBook-Pro:node_modules kai$ 
n-riesco commented 5 years ago

OK, let's clone zeromq's repo instead:

cd /Users/kai/test/node_modules/
git clone https://github.com/zeromq/zeromq.js.git  zeromq

cd /Users/kai/test/node_modules/zeromq/
rm -f zmq/BUILD_SUCCESS
node scripts/preinstall.js
find . -name config.log
kaidatavis commented 5 years ago

Finally, there is a config.log file, which is attached. config.log

n-riesco commented 5 years ago

The relevant bit in that log (see below) is telling us that there is a conflict between the ld installed by anaconda (x86_64-apple-darwin13.4.0-clang) and the ld provided by Apple.

Please, see this issue: https://github.com/ContinuumIO/anaconda-issues/issues/9096

And please, let me know if this lead isn't enough, and you get stuck.

configure:4000: checking for gcc
configure:4027: result: x86_64-apple-darwin13.4.0-clang
configure:4256: checking for C compiler version
configure:4265: x86_64-apple-darwin13.4.0-clang --version >&5
clang version 4.0.1 (tags/RELEASE_401/final)
Target: x86_64-apple-darwin13.4.0
Thread model: posix
InstalledDir: /anaconda3/bin
configure:4276: $? = 0
configure:4265: x86_64-apple-darwin13.4.0-clang -v >&5
clang version 4.0.1 (tags/RELEASE_401/final)
Target: x86_64-apple-darwin13.4.0
Thread model: posix
InstalledDir: /anaconda3/bin
configure:4276: $? = 0
configure:4265: x86_64-apple-darwin13.4.0-clang -V >&5
clang-4.0: error: argument to '-V' is missing (expected 1 value)
clang-4.0: error: no input files
configure:4276: $? = 1
configure:4265: x86_64-apple-darwin13.4.0-clang -qversion >&5
clang-4.0: error: unknown argument: '-qversion'
clang-4.0: error: no input files
configure:4276: $? = 1
configure:4296: checking whether the C compiler works
configure:4318: x86_64-apple-darwin13.4.0-clang -fPIC -D_FORTIFY_SOURCE=2 -mmacosx-version-min=10.9 -Wl,-pie -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs conftest.c  >&5
ld: warning: ignoring file /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/lib/libSystem.tbd, file was built for unsupported file format ( 0x2D 0x2D 0x2D 0x20 0x21 0x74 0x61 0x70 0x69 0x2D 0x74 0x62 0x64 0x2D 0x76 0x33 ) which is not the architecture being linked (x86_64): /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/lib/libSystem.tbd
ld: dynamic main executables must link with libSystem.dylib for architecture x86_64
clang-4.0: error: linker command failed with exit code 1 (use -v to see invocation)
configure:4322: $? = 1
configure:4360: result: no
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "zeromq"
| #define PACKAGE_TARNAME "zeromq"
| #define PACKAGE_VERSION "4.2.2"
| #define PACKAGE_STRING "zeromq 4.2.2"
| #define PACKAGE_BUGREPORT "zeromq-dev@lists.zeromq.org"
| #define PACKAGE_URL ""
| #define PACKAGE "zeromq"
| #define VERSION "4.2.2"
| /* end confdefs.h.  */
| 
| int
| main ()
| {
| 
|   ;
|   return 0;
| }
configure:4365: error: in `/Users/kai/test/node_modules/zeromq/zmq/zeromq-4.2.2':
configure:4367: error: C compiler cannot create executables
See `config.log' for more details
kaidatavis commented 5 years ago

@n-riesco thanks for the information, but I don't understand the discussions in the issue mentioned: https://github.com/ContinuumIO/anaconda-issues/issues/9096.

I followed the steps described in the discussion (without understanding what it is doing), but still has the same error when I try npm install -g ijavascript afterwards (the same output as in the first post.

n-riesco commented 5 years ago

I'm not a mac user (so I can only be of limited help). Here are a few links that look useful:

kaidatavis commented 5 years ago

I managed to have ijavascript running now by:

  1. removing the anaconda installation: https://docs.anaconda.com/anaconda/install/uninstall/. I did this because it feels like that it is something that anaconda installed is interfering with the ijavascript installation, also personally I don't really like the approach of anacanda that installs lots of things that 1) might not be useful, 2) potentially duplicating/conflicting with what's already installed. Though it can be useful for people need everything or don't really care about this;
  2. I then installed python3 (required by jupyter notebook) using pyenv following the instruction here: as it turns out it can be tricky to manage different versions of python on mac;
  3. The next step is to install jupyter notebook using pip, which is quite straightforward: https://test-jupyter.readthedocs.io/en/rtd-theme/install.html#using-pip
  4. Finally I just followed the steps on the ijavascript page and successfully completed all the steps. ijavascript
n-riesco commented 5 years ago

@kaimdx Thank you for reporting back.