Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Differing commands when installing 14.19.3 on MacOS/ZSH have weird results #363

Open
Skipants opened this issue Jul 31, 2023 · 0 comments
Open

Comments

@Skipants
Copy link

Skipants commented Jul 31, 2023

I know that using "weird results" in a title is a sign you're about to get the worst issue report ever, but let me output what I run into and we can judge from there.

When running asdf install nodejs it would fail to download:

> asdf install nodejs
Trying to update node-build... ok
Downloading node-v14.19.3.tar.gz...
-> https://nodejs.org/dist/v14.19.3/node-v14.19.3.tar.gz
error: failed to download node-v14.19.3.tar.gz
-> https://nodejs.org/dist/v14.19.3/node-v14.19.3.tar.gz
error: failed to download node-v14.19.3.tar.gz

BUILD FAILED (OS X 13.4.1 using node-build 4.9.119)

I was able to download the file with wget. I thought it might be related to #344, but I do not have aria2c in my path.

To try and diagnose the problem, I tried to use ASDF_NODEJS_VERBOSE_INSTALL. I ran the command like:

ASDF_NODEJS_VERBOSE_INSTALL=true asdf install nodejs

However, this started to build nodejs from source, as if I had set ASDF_NODEJS_FORCE_COMPILE. I can't paste the results because it was thousands of lines of linking. Here's a snippet:

c++ -o /private/var/folders/fy/z9d_zt5d6lvdrr00m6lghsnw0000gp/T/node-build.20230731144435.64499.uYwkeU/node-v14.19.3/out/Release/obj.target/node/gen/node_code_cache.o /private/var/folders/fy/z9d_zt5d6lvdrr00m6lghsnw0000gp/T/node-build.20230731144435.64499.uYwkeU/node-v14.19.3/out/Release/obj/gen/node_code_cache.cc '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DNODE_ARCH="arm64"' '-DNODE_WANT_INTERNALS=1' '-D__POSIX__' '-DNODE_USE_V8_PLATFORM=1' '-DNODE_HAVE_I18N_SUPPORT=1' '-DNODE_PLATFORM="darwin"' '-DHAVE_OPENSSL=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_STATIC_IMPLEMENTATION=1' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DNGHTTP2_STATICLIB' -I../src -I../deps/v8/include -I../deps/histogram/src -I../deps/uvwasi/include -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -I../deps/zlib -I../deps/llhttp/include -I../deps/cares/include -I../deps/uv/include -I../deps/nghttp2/lib/includes -I../deps/brotli/c/include -I../deps/openssl/openssl/include  -O3 -gdwarf-2 -mmacosx-version-min=10.13 -arch arm64 -Wall -Wendif-labels -W -Wno-unused-parameter -Werror=undefined-inline -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu++1y -stdlib=libc++ -fno-rtti -fno-exceptions -fno-strict-aliasing -MMD -MF /private/var/folders/fy/z9d_zt5d6lvdrr00m6lghsnw0000gp/T/node-build.20230731144435.64499.uYwkeU/node-v14.19.3/out/Release/.deps//private/var/folders/fy/z9d_zt5d6lvdrr00m6lghsnw0000gp/T/node-build.20230731144435.64499.uYwkeU/node-v14.19.3/out/Release/obj.target/node/gen/node_code_cache.o.d.raw -I/Users/andrewszczepanski/.asdf/installs/nodejs/14.19.3/include   -c
  c++ -o /private/var/folders/fy/z9d_zt5d6lvdrr00m6lghsnw0000gp/T/node-build.20230731144435.64499.uYwkeU/node-v14.19.3/out/Release/obj.target/node/gen/node_snapshot.o /private/var/folders/fy/z9d_zt5d6lvdrr00m6lghsnw0000gp/T/node-build.20230731144435.64499.uYwkeU/node-v14.19.3/out/Release/obj/gen/node_snapshot.cc '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DNODE_ARCH="arm64"' '-DNODE_WANT_INTERNALS=1' '-D__POSIX__' '-DNODE_USE_V8_PLATFORM=1' '-DNODE_HAVE_I18N_SUPPORT=1' '-DNODE_PLATFORM="darwin"' '-DHAVE_OPENSSL=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_STATIC_IMPLEMENTATION=1' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DNGHTTP2_STATICLIB' -I../src -I../deps/v8/include -I../deps/histogram/src -I../deps/uvwasi/include -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -I../deps/zlib -I../deps/llhttp/include -I../deps/cares/include -I../deps/uv/include -I../deps/nghttp2/lib/includes -I../deps/brotli/c/include -I../deps/openssl/openssl/include  -O3 -gdwarf-2 -mmacosx-version-min=10.13 -arch arm64 -Wall -Wendif-labels -W -Wno-unused-parameter -Werror=undefined-inline -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu++1y -stdlib=libc++ -fno-rtti -fno-exceptions -fno-strict-aliasing -MMD -MF /private/var/folders/fy/z9d_zt5d6lvdrr00m6lghsnw0000gp/T/node-build.20230731144435.64499.uYwkeU/node-v14.19.3/out/Release/.deps//private/var/folders/fy/z9d_zt5d6lvdrr00m6lghsnw0000gp/T/node-build.20230731144435.64499.uYwkeU/node-v14.19.3/out/Release/obj.target/node/gen/node_snapshot.o.d.raw -I/Users/andrewszczepanski/.asdf/installs/nodejs/14.19.3/include   -c

It took a long long long time, probably because of a mix of building and having to repeatedly flush tons of stuff to stdout.

I was going to post an issue about that. To help with the issue description, I was going to time both of the previous commands to show that asdf install nodejs was probably not building from source while the command with the env var was.

BUT when I ran install with time it worked:

> time asdf install nodejs
Trying to update node-build... ok
Downloading node-v14.19.3.tar.gz...
-> https://nodejs.org/dist/v14.19.3/node-v14.19.3.tar.gz

WARNING: node-v14.19.3 is in LTS Maintenance mode and nearing its end of life.
It only receives *critical* security updates, *critical* bug fixes and documentation updates.

Installing node-v14.19.3...
Installed node-v14.19.3 to /Users/andrewszczepanski/.asdf/installs/nodejs/14.19.3

One idea I had was maybe it has to do with arg parsing. I noticed that asdf-nodejs parse scripts using $1 and $2. However, time doesn't clobber arguments, as shown with this simple test:

> echo "echo \$1" > test_script.sh
> chmod 755 test_script.sh
> ./test_script.sh hello
hello
> time ./test_script.sh hello
hello
./test_script.sh hello  0.00s user 0.01s system 42% cpu 0.022 total

It also wasn't nodejs.org being flaky -- I tried the command a few times and received error: failed to download node-v14.19.3.tar.gz while downloading it in between runs with wget.

Other than that, I'm at a loss as to what it could be. It seems like a major Heisenbug.

I don't really expect anyone to fix this with this information given, but maybe if someone else runs into it they can simply use time to workaround it.

Specs/maybe useful info:
Chip Apple M1 Pro
mac OS 13.4.1 (22F82)
zsh 5.9 (arm-apple-darwin21.3.0)
asdf v0.12.0
On company VPN

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant