Node: Build from source error on Catalina

Created on 6 Nov 2019  路  6Comments  路  Source: nodejs/node

  • Version: v10.16.3
  • Platform: Darwin Grigoriys-MacBook-Pro.local 19.0.0 Darwin Kernel Version 19.0.0: Thu Oct 17 16:17:15 PDT 2019; root:xnu-6153.41.3~29/RELEASE_X86_64 x86_64

The Error

I was building Node binary for Code+Learn meetup. I was following the official guide.

The build passed without errors. However when I laucned make test-only, I got the following messages in output:

make[1]: *** [jstest] Error 1
make: *** [test-only] Error 2

What I did before

First I encountered issues with ./configure:

grigoriylevanov (master) node $ ./configure
Node configure: Found Python 3.7.4...
INFO: Using floating patch "tools/icu/patches/64/source/common/putil.cpp" from "tools/icu"
INFO: Using floating patch "tools/icu/patches/64/source/i18n/dtptngen.cpp" from "tools/icu"
No receipt for 'com.apple.pkg.DeveloperToolsCLILeo' found at '/'.
No receipt for 'com.apple.pkg.DeveloperToolsCLI' found at '/'.
gyp: No Xcode or CLT version detected!
Error running GYP

I've followed the guide for node-gyp issues with xcode in Catalina and passed the acid test (as descibed here), however it did not help with build.

Just in case, this is my acid test results:

grigoriylevanov (master *) node $ /usr/sbin/pkgutil --packages | grep CL
com.apple.pkg.CLTools_Executables
com.apple.pkg.CLTools_SDK_macOS1015
com.apple.pkg.CLTools_SDK_macOS1014
com.apple.pkg.CLTools_macOS_SDK

grigoriylevanov (master *) node $ /usr/sbin/pkgutil --pkg-info com.apple.pkg.CLTools_Executables
package-id: com.apple.pkg.CLTools_Executables
version: 11.0.0.0.1.1567737322
volume: /
location: /
install-time: 1572944110
groups: com.apple.FindSystemFiles.pkg-group 

I also have a different python version (2.7, not 3.7):

grigoriylevanov (master *) node $ python -V
Python 2.7.16

Our chat came up with the following workaround - if we comment out the following in ./configure, config and build pass without errors.

test ${TRAVIS} && exec python "$0" "$@"  # workaround for pyenv on Travis CI
#which python3.8 >/dev/null && exec python3.8 "$0" "$@"
#which python3.7 >/dev/null && exec python3.7 "$0" "$@"
#which python3.6 >/dev/null && exec python3.6 "$0" "$@"
#which python3.5 >/dev/null && exec python3.5 "$0" "$@"
which python2.7 >/dev/null && exec python2.7 "$0" "$@"
exec python "$0" "$@"
''' "$0" "$@"
grigoriylevanov (master) node $ ./configure
Node configure: Found Python 2.7.16...
INFO: Using floating patch "tools/icu/patches/64/source/common/putil.cpp" from "tools/icu"
INFO: Using floating patch "tools/icu/patches/64/source/i18n/dtptngen.cpp" from "tools/icu"
INFO: configure completed successfully

I've also attached full log of make test-only output: log.txt.

I am building from the following:

grigoriylevanov (master *) node $ git log
commit 1f2fdc9538f2ee9d9fad68137798c49113e96274 (HEAD -> master, origin/master, origin/HEAD)

Python macos

All 6 comments

I think this would be a duplicate of #30129. python2 ./configure should work for now.

@glevanov could you confirm that it works now?

@glevanov confirmed that ./configure now works on Python 3, but the tests results were unchanged and still have timeouts.

dgram timeouts looks similar to https://github.com/nodejs/node/issues/30030#issuecomment-544248599.

EPIPE looks like the flaky test from https://github.com/nodejs/node/issues/29341.

@BridgeAR is there anything else here?

Updated logs attached

configure.txt
make.txt
test-only.txt

@glevanov Thanks!

I don't think there is anything new here on top of https://github.com/nodejs/node/issues/30030#issuecomment-544248599 and https://github.com/nodejs/node/issues/29341 now.

I'll go ahead and close this out then.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

jmichae3 picture jmichae3  路  3Comments

cong88 picture cong88  路  3Comments

fanjunzhi picture fanjunzhi  路  3Comments

willnwhite picture willnwhite  路  3Comments

srl295 picture srl295  路  3Comments