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

configure script in node-v10.11.0.tar.gz source tarball appears truncated #23111

Closed
BobCochran opened this issue Sep 27, 2018 · 8 comments
Closed
Labels
build Issues and PRs related to build files or the CI.

Comments

@BobCochran
Copy link

  • Version: 10.11.0 source code
  • Platform: Unix (Ubuntu 18.04 LTS)
  • Subsystem: /na

When compiling node-v10.11.0 from the source code tarball, the output of './configure --prefix=prefix returns silently. I get this:

/node-v10.11.0$ ./configure --prefix=$MY_NODE_PREFIX
$ [no output from ./configure]

in the 10.10.0 source code, the same command will result in console output giving configuration settings.

When I look at the configure file in node-v10.11.0, the file is 790 bytes in length:

-rwxr-xr-x 1 usbob2 usbob2 790 Sep 20 03:28 configure

When I look at the same file in node-v10.10.0, it is 55,153 bytes in length.

-rwxr-xr-x 1 usbob2 usbob2 55153 Sep 6 16:44 configure

Clearly, the configure file in node-v10.11.0 has been truncated and is unusable.

The tarball did sha256sum properly:

$ egrep 'node-v10.11.0.tar.gz' SHASUMS256.txt.asc | sha256sum -c -
node-v10.11.0.tar.gz: OK

The signed SHA256SUMS file did get a "GOOD SIGNATURE" when verified:

$ gpg --verify SHASUMS256.txt.asc
gpg: Signature made Thu 20 Sep 2018 07:34:32 AM EDT
gpg: using RSA key 8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600
gpg: Good signature from "Michaël Zasso (Targos) targos@protonmail.com" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: 8FCC A13F EF1D 0C2E 9100 8E09 770F 7A9A 5AE1 5600

@richardlau
Copy link
Member

richardlau commented Sep 27, 2018

Coincidentally I had a coworker ask me about this yesterday.

#22450 moved the bulk of the configure script to configure.py but also made it so that configure no longer outputs anything to the console (it still writes config.gypi) unless you pass --verbose. In my opinion suppressing all output from configure by default was a mistake and it should at least indicate it has done something, perhaps the

creating icu_config.gypi
creating config.gypi
creating config.status
creating config.mk

lines reported by:

node/configure.py

Line 1212 in d6a6df9

print_verbose('creating %s' % filename)

cc @refack

@BobCochran
Copy link
Author

BobCochran commented Sep 27, 2018 via email

@refack
Copy link
Contributor

refack commented Sep 27, 2018

The #22450 change should have been semver-major, that one slipped through the cracks...
One convention I did make sure we followed is the exit code (which is still 0 on success).

The Node.js configure script is not a classical automake configure, so deciding what to output will be arbitrary anyway. So while I'm working on an improvement, what output would be preferable?

  1. creating icu_config.gypi
    creating config.gypi
    creating config.status
    creating config.mk
    
  2. configure completed successfully
    

@refack refack self-assigned this Sep 27, 2018
@refack refack added the build Issues and PRs related to build files or the CI. label Sep 27, 2018
@BobCochran
Copy link
Author

I'm so accustomed to the output that I've had up to and including 10.10.0:

`~/node-v10.10.0$ ./configure --prefix=$MY_NODE_PREFIX
creating icu_config.gypi

  • Using ICU in deps/icu-small
    creating icu_config.gypi
    { 'target_defaults': { 'cflags': [],
    'default_configuration': 'Release',
    'defines': [],
    'include_dirs': [],
    'libraries': []},
    'variables': { 'asan': 0,
    'build_v8_with_gn': 'false',
    'coverage': 'false',
    'debug_nghttp2': 'false',
    'enable_lto': 'false',
    'force_dynamic_crt': 0,
    'gas_version': '2.30',
    'host_arch': 'x64',
    'icu_data_in': '../../deps/icu-small/source/data/in/icudt62l.dat',
    'icu_endianness': 'l',
    'icu_gyp_path': 'tools/icu/icu-generic.gyp',
    'icu_locales': 'en,root',
    'icu_path': 'deps/icu-small',
    'icu_small': 'true',
    'icu_ver_major': '62',
    'llvm_version': 0,
    'node_byteorder': 'little',
    'node_debug_lib': 'false',
    'node_enable_d8': 'false',
    'node_enable_v8_vtunejit': 'false',
    'node_install_npm': 'true',
    'node_module_version': 64,
    'node_no_browser_globals': 'false',
    'node_prefix': '/home/usbob2/local',
    'node_release_urlbase': '',
    'node_shared': 'false',
    'node_shared_cares': 'false',
    'node_shared_http_parser': 'false',
    'node_shared_libuv': 'false',
    'node_shared_nghttp2': 'false',
    'node_shared_openssl': 'false',
    'node_shared_zlib': 'false',
    'node_tag': '',
    'node_target_type': 'executable',
    'node_use_bundled_v8': 'true',
    'node_use_dtrace': 'false',
    'node_use_etw': 'false',
    'node_use_openssl': 'true',
    'node_use_pch': 'false',
    'node_use_perfctr': 'false',
    'node_use_v8_platform': 'true',
    'node_with_ltcg': 'false',
    'node_without_node_options': 'false',
    'openssl_fips': '',
    'openssl_no_asm': 0,
    'shlib_suffix': 'so.64',
    'target_arch': 'x64',
    'v8_enable_gdbjit': 0,
    'v8_enable_i18n_support': 1,
    'v8_enable_inspector': 1,
    'v8_no_strict_aliasing': 1,
    'v8_optimized_debug': 0,
    'v8_promise_internal_field_count': 1,
    'v8_random_seed': 0,
    'v8_trace_maps': 0,
    'v8_typed_array_max_size_in_heap': 0,
    'v8_use_snapshot': 'true',
    'want_separate_host_toolset': 0}}
    creating config.gypi
    creating config.status
    creating config.mk
    `
    If we could keep that the same it would be great. If something must change here, then for a *nix build I would like to see console output showing the configuration files are being created and the final line 'configure completed successfully'.

@mscdex
Copy link
Contributor

mscdex commented Sep 30, 2018

+1 to reverting to verbose by default

@richardlau
Copy link
Member

The #22450 change should have been semver-major, that one slipped through the cracks...

@refack Should we revert the whole of #22450 in v10.x or just the --verbose part? (Undoing the configure->configure.py change would mean any configure.py changes on master having to be manually backported to v10.x in the future.)

cc @nodejs/release

@Trott
Copy link
Member

Trott commented Nov 16, 2018

@refack You self-assigned this one. Are you still working on it?

@refack
Copy link
Contributor

refack commented Nov 17, 2018

You self-assigned this one. Are you still working on it?

Oops I lost track of this...
So I'm a bit conflicted; this got into node11, so that's Ok as a semver-major.
And node10 entered LTS with this, so I'm hesitant to submit a patch now... (although it adds information, so it might be semver-minor).
I'll make a patch for 10.x and see what the reviewers say.

Fixed in #22450
Fixed in #23408

@refack refack closed this as completed Nov 17, 2018
richardlau added a commit to richardlau/node-1 that referenced this issue Mar 4, 2019
If run without `--verbose` configure exits silently with no indication
that it has done anything. Print a message on completion to indicate
that the script has worked.

Refs: nodejs#23111
BridgeAR pushed a commit to BridgeAR/node that referenced this issue Mar 6, 2019
If run without `--verbose` configure exits silently with no indication
that it has done anything. Print a message on completion to indicate
that the script has worked.

Refs: nodejs#23111

PR-URL: nodejs#26436
Refs: nodejs#23111
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
@refack refack removed their assignment Mar 11, 2019
BridgeAR pushed a commit to BridgeAR/node that referenced this issue Mar 12, 2019
If run without `--verbose` configure exits silently with no indication
that it has done anything. Print a message on completion to indicate
that the script has worked.

Refs: nodejs#23111

PR-URL: nodejs#26436
Refs: nodejs#23111
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
BridgeAR pushed a commit that referenced this issue Mar 14, 2019
If run without `--verbose` configure exits silently with no indication
that it has done anything. Print a message on completion to indicate
that the script has worked.

Refs: #23111

PR-URL: #26436
Refs: #23111
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Issues and PRs related to build files or the CI.
Projects
None yet
Development

No branches or pull requests

5 participants