npm ERR! gyp: name 'openssl_fips' is not defined

See original GitHub issue

Solution: https://github.com/nodejs/node-gyp/issues/2673#issuecomment-1196931379

• electron-builder version=22.14.13 • rebuilding native dependencies dependencies=ffi-napi@4.0.3, ref-napi@3.0.3 platform=darwin arch=arm64 ⨯ cannot execute cause=exit status 1 errorOut=npm ERR! code 1 npm ERR! path /Users/wks/Desktop/electron/terrasync/node_modules/ffi-napi npm ERR! command failed npm ERR! command sh -c node-gyp-build npm ERR! gyp info it worked if it ends with ok npm ERR! gyp info using node-gyp@9.0.0 npm ERR! gyp info using node@16.14.0 | darwin | arm64 npm ERR! gyp info find Python using Python version 3.8.9 found at “/Applications/Xcode.app/Contents/Developer/usr/bin/python3” npm ERR! gyp info spawn /Applications/Xcode.app/Contents/Developer/usr/bin/python3 npm ERR! gyp info spawn args [ npm ERR! gyp info spawn args ‘/Users/wks/Desktop/electron/terrasync/node_modules/node-gyp/gyp/gyp_main.py’, npm ERR! gyp info spawn args ‘binding.gyp’, npm ERR! gyp info spawn args ‘-f’, npm ERR! gyp info spawn args ‘make’, npm ERR! gyp info spawn args ‘-I’, npm ERR! gyp info spawn args ‘/Users/wks/Desktop/electron/terrasync/node_modules/ffi-napi/build/config.gypi’, npm ERR! gyp info spawn args ‘-I’, npm ERR! gyp info spawn args ‘/Users/wks/Desktop/electron/terrasync/node_modules/node-gyp/addon.gypi’, npm ERR! gyp info spawn args ‘-I’, npm ERR! gyp info spawn args ‘/Users/wks/.electron-gyp/11.5.0/include/node/common.gypi’, npm ERR! gyp info spawn args ‘-Dlibrary=shared_library’, npm ERR! gyp info spawn args ‘-Dvisibility=default’, npm ERR! gyp info spawn args ‘-Dnode_root_dir=/Users/wks/.electron-gyp/11.5.0’, npm ERR! gyp info spawn args ‘-Dnode_gyp_dir=/Users/wks/Desktop/electron/terrasync/node_modules/node-gyp’, npm ERR! gyp info spawn args ‘-Dnode_lib_file=/Users/wks/.electron-gyp/11.5.0/<(target_arch)/node.lib’, npm ERR! gyp info spawn args ‘-Dmodule_root_dir=/Users/wks/Desktop/electron/terrasync/node_modules/ffi-napi’, npm ERR! gyp info spawn args ‘-Dnode_engine=v8’, npm ERR! gyp info spawn args ‘–depth=.’, npm ERR! gyp info spawn args ‘–no-parallel’, npm ERR! gyp info spawn args ‘–generator-output’, npm ERR! gyp info spawn args ‘build’, npm ERR! gyp info spawn args ‘-Goutput_dir=.’ npm ERR! gyp info spawn args ] npm ERR! gyp: name ‘openssl_fips’ is not defined while evaluating condition ‘openssl_fips != “”’ in …/node-addon-api/node_api.gyp while loading dependencies of binding.gyp while trying to load binding.gyp npm ERR! gyp ERR! configure error npm ERR! gyp ERR! stack Error: gyp failed with exit code: 1 npm ERR! gyp ERR! stack at ChildProcess.onCpExit (/Users/wks/Desktop/electron/terrasync/node_modules/node-gyp/lib/configure.js:261:16) npm ERR! gyp ERR! stack at ChildProcess.emit (node:events:520:28) npm ERR! gyp ERR! stack at Process.ChildProcess._handle.onexit (node:internal/child_process:291:12) npm ERR! gyp ERR! System Darwin 21.5.0 npm ERR! gyp ERR! command “/usr/local/bin/node” “/Users/wks/Desktop/electron/terrasync/node_modules/.bin/node-gyp” “rebuild” npm ERR! gyp ERR! cwd /Users/wks/Desktop/electron/terrasync/node_modules/ffi-napi npm ERR! gyp ERR! node -v v16.14.0 npm ERR! gyp ERR! node-gyp -v v9.0.0 npm ERR! gyp ERR! not ok

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/wks/.npm/_logs/2022-06-01T07_14_18_457Z-debug-0.log

                command=/usr/local/bin/node /usr/local/lib/node_modules/npm/bin/npm-cli.js rebuild ffi-napi@4.0.3 ref-napi@3.0.3
                workingDir=

┌────────────────────────────────────────────────────────┐ │ electron-builder update check failed │ │ Try running with sudo or get access │ │ to the local update config store via │ │ sudo chown -R $USER:$(id -gn $USER) /Users/wks/.config │ └────────────────────────────────────────────────────────┘ npm ERR! code 1 npm ERR! path /Users/wks/Desktop/electron/terrasync npm ERR! command failed npm ERR! command sh -c electron-builder install-app-deps

npm ERR! A complete log of this run can be found in: npm ERR! /Users/wks/.npm/_logs/2022-06-01T07_14_16_686Z-debug-0.log

Issue Analytics

  • State:closed
  • Created a year ago
  • Comments:20 (4 by maintainers)

github_iconTop GitHub Comments

6reactions
arjunfulpcommented, Jul 27, 2022

I did not want to edit the binding.gyp file of a module that I was using. So I solved this problem by passing "--openssl_fips=''" into the script I want to use, like npm install --openssl_fips=''

4reactions
quark-zjucommented, Sep 19, 2022

When using yarn it seems the --openssl_fips='' passed to yarn does not make a difference. If the issue happens in a dependency, editing binding.gyp in the node_modules/ directory gets reverted automatically. I ended up with a workaround that edits gyp’s source code directly:

The gyp source code location is printed in the error message:

gyp ERR! configure error 
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (/Users/quark/.config/yarn/global/node_modules/node-gyp/lib/configure.js:285:16)
gyp ERR! stack     at ChildProcess.emit (events.js:315:20)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:277:12)

gyp seems to evaluate the binding.gyp as a Python script, I changed the builtin variables to evaluate the script:

diff --git a/gyp/pylib/gyp/input.py b/gyp/pylib/gyp/input.py
index 354958b..bb982eb 100644
--- a/gyp/pylib/gyp/input.py
+++ b/gyp/pylib/gyp/input.py
@@ -1190,7 +1190,7 @@ def EvalSingleCondition(cond_expr, true_dict, false_dict, phase, variables, buil
         else:
             ast_code = compile(cond_expr_expanded, "<string>", "eval")
             cached_conditions_asts[cond_expr_expanded] = ast_code
-        env = {"__builtins__": {}, "v": StrictVersion}
+        env = {"__builtins__": {"openssl_fips": ""}, "v": StrictVersion}
         if eval(ast_code, env, variables):
             return true_dict
         return false_dict

The input.py is located in the node-gyp directory printed in the above error message, for example:

  • /usr/local/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py
  • ~/.config/yarn/global/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py
Read more comments on GitHub >

github_iconTop Results From Across the Web

How to rebuild epoll package in electron? - Stack Overflow
yarn run v1.22.15 $ electron-rebuild -f -w myapp \ Building module: bindings, Completed: 0gyp: name 'openssl_fips' is not defined while ...
Read more >
Trouble in nw-gyp with 0.13 - Google Groups
When I run nw-gyp configure --target=0.13.0-beta4 , I get the following error: gyp: name 'openssl_fips' is not defined while evaluating condition ...
Read more >
node-gyp | Yarn - Package Manager
js native addon build tool. Build Status npm. node-gyp is a cross-platform command-line tool written in Node.js for compiling native ...
Read more >
deasync - npm
js event loop at JavaScript layer. The core of deasync is written in C++. Motivation. Suppose you maintain a library that exposes a...
Read more >
[SOLVED] FXCode not compiling - FxDK - Cfx.re Community
Installed NodeJS (v16.15.0) from official site with Chocolatey. ... gyp info spawn args ] gyp: name 'openssl_fips' is not defined while ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found