Skip to content
This repository was archived by the owner on Apr 22, 2023. It is now read-only.

configure: add --without-mdb flag (fix issue #6439) #9349

Closed
wants to merge 1 commit into from

Conversation

cgalibern
Copy link

We need a way to disable node_use_mdb on non Illumos derivated, because of
missing libproc.h.

Example:
./configure --dest-cpu=x64 --dest-os=solaris --prefix=/opt/node --without-mdb
creating ./icu_config.gypi
{ 'target_defaults': { 'cflags': [],
'default_configuration': 'Release',
'defines': [],
'include_dirs': [],
'libraries': []},
'variables': { 'clang': 0,
'gcc_version': 48,
'host_arch': 'ia32',
'icu_small': 'false',
'node_install_npm': 'true',
'node_prefix': '/opt/node',
'node_shared_cares': 'false',
'node_shared_http_parser': 'false',
'node_shared_libuv': 'false',
'node_shared_openssl': 'false',
'node_shared_v8': 'false',
'node_shared_zlib': 'false',
'node_tag': '',
'node_use_dtrace': 'true',
'node_use_etw': 'false',
'node_use_mdb': 'false',
'node_use_openssl': 'true',
'node_use_perfctr': 'false',
'openssl_no_asm': 0,
'python': '/usr/bin/python',
'target_arch': 'x64',
'uv_library': 'static_library',
'uv_parent_path': '/deps/uv/',
'uv_use_dtrace': 'true',
'v8_enable_gdbjit': 0,
'v8_enable_i18n_support': 0,
'v8_no_strict_aliasing': 1,
'v8_optimized_debug': 0,
'v8_random_seed': 0,
'v8_use_snapshot': 'true',
'want_separate_host_toolset': 1}}
creating ./config.gypi
creating ./config.mk

We need a way to disable node_use_mdb on non Illumos derivated, because of missing libproc.h.
    
Example:
    ./configure --dest-cpu=x64  --dest-os=solaris --prefix=/opt/node --without-mdb
    creating  ./icu_config.gypi
    { 'target_defaults': { 'cflags': [],
                           'default_configuration': 'Release',
                           'defines': [],
                           'include_dirs': [],
                           'libraries': []},
      'variables': { 'clang': 0,
                     'gcc_version': 48,
                     'host_arch': 'ia32',
                     'icu_small': 'false',
                     'node_install_npm': 'true',
                     'node_prefix': '/opt/node',
                     'node_shared_cares': 'false',
                     'node_shared_http_parser': 'false',
                     'node_shared_libuv': 'false',
                     'node_shared_openssl': 'false',
                     'node_shared_v8': 'false',
                     'node_shared_zlib': 'false',
                     'node_tag': '',
                     'node_use_dtrace': 'true',
                     'node_use_etw': 'false',
                     'node_use_mdb': 'false',
                     'node_use_openssl': 'true',
                     'node_use_perfctr': 'false',
                     'openssl_no_asm': 0,
                     'python': '/usr/bin/python',
                     'target_arch': 'x64',
                     'uv_library': 'static_library',
                     'uv_parent_path': '/deps/uv/',
                     'uv_use_dtrace': 'true',
                     'v8_enable_gdbjit': 0,
                     'v8_enable_i18n_support': 0,
                     'v8_no_strict_aliasing': 1,
                     'v8_optimized_debug': 0,
                     'v8_random_seed': 0,
                     'v8_use_snapshot': 'true',
                     'want_separate_host_toolset': 1}}
    creating  ./config.gypi
    creating  ./config.mk
@misterdjules
Copy link

Adding @orangemocha's comments from #6439 here to avoid confusion:

I am really out of my depth here, but would it make sense to set node_use_mdb to false by default for Solaris? It's the only platform for which it's set to true.

The original change is here: e851fef

Also, #9349 is against master. It should probably be rebased against v0.12.

@orangemocha Changing the default value for node_use_mdb would be a breaking change, as it would require packagers and users to change how they build node.js on SmartOS, I don't think we should do that in v0.12.

@misterdjules
Copy link

Added the P-1 label because it prevents Solaris and derivatives' users from building Node.js on their platform.

@orangemocha
Copy link
Contributor

@misterdjules : sure, I defer to your expertise on the matter since I have none when it comes to these platforms :)

@misterdjules
Copy link

LGTM. Thank you @cgalibern 👍

@misterdjules
Copy link

Tested on SmartOS with --without-mdb and with the default options and verified that it works as expected. Also created #25707 that is identical, but with a commit message that follows our guidelines so that I can land this with our node-accept-pull-request job on Jenkins.

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

Successfully merging this pull request may close these issues.

4 participants