Pinion icon indicating copy to clipboard operation
Pinion copied to clipboard

Node 18 returns error: `digital envelope routines::unsupported` on build

Open JakubAndrysek opened this issue 3 years ago • 0 comments

When I call:

releng/buildWidgetReleases.sh

Node returns error: opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ]

To fix it:

  • Enable legacy OpenSSL provider.
    • export NODE_OPTIONS=--openssl-legacy-provider
  • https://stackoverflow.com/a/69699772/15411117

Better will be upgrade packages

Console error

MacBook Pro M1 - Parallels Ubuntu 22

➜  Pinion git:(main) ✗ ./releng/buildWidgetReleases.sh 

> [email protected] build
> craco build

craco:  *** Cannot find ESLint loader (eslint-loader). ***
Browserslist: caniuse-lite is outdated. Please run:
npx browserslist@latest --update-db

Why you should do it regularly:
https://github.com/browserslist/browserslist#browsers-data-updating
Creating an optimized production build...
Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:71:19)
    at Object.createHash (node:crypto:133:10)
    at module.exports (/media/psf/Home/Documents/git/yaqwsx/Pinion/pinion-widget/node_modules/webpack/lib/util/createHash.js:135:53)
    at NormalModule._initBuildHash (/media/psf/Home/Documents/git/yaqwsx/Pinion/pinion-widget/node_modules/webpack/lib/NormalModule.js:417:16)
    at handleParseError (/media/psf/Home/Documents/git/yaqwsx/Pinion/pinion-widget/node_modules/webpack/lib/NormalModule.js:471:10)
    at /media/psf/Home/Documents/git/yaqwsx/Pinion/pinion-widget/node_modules/webpack/lib/NormalModule.js:503:5
    at /media/psf/Home/Documents/git/yaqwsx/Pinion/pinion-widget/node_modules/webpack/lib/NormalModule.js:358:12
    at /media/psf/Home/Documents/git/yaqwsx/Pinion/pinion-widget/node_modules/loader-runner/lib/LoaderRunner.js:373:3
    at iterateNormalLoaders (/media/psf/Home/Documents/git/yaqwsx/Pinion/pinion-widget/node_modules/loader-runner/lib/LoaderRunner.js:214:10)
    at iterateNormalLoaders (/media/psf/Home/Documents/git/yaqwsx/Pinion/pinion-widget/node_modules/loader-runner/lib/LoaderRunner.js:221:10)
    at /media/psf/Home/Documents/git/yaqwsx/Pinion/pinion-widget/node_modules/loader-runner/lib/LoaderRunner.js:236:3
    at runSyncOrAsync (/media/psf/Home/Documents/git/yaqwsx/Pinion/pinion-widget/node_modules/loader-runner/lib/LoaderRunner.js:130:11)
    at iterateNormalLoaders (/media/psf/Home/Documents/git/yaqwsx/Pinion/pinion-widget/node_modules/loader-runner/lib/LoaderRunner.js:232:2)
    at Array.<anonymous> (/media/psf/Home/Documents/git/yaqwsx/Pinion/pinion-widget/node_modules/loader-runner/lib/LoaderRunner.js:205:4)
    at Storage.finished (/media/psf/Home/Documents/git/yaqwsx/Pinion/pinion-widget/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:55:16)
    at /media/psf/Home/Documents/git/yaqwsx/Pinion/pinion-widget/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:91:9
/media/psf/Home/Documents/git/yaqwsx/Pinion/pinion-widget/node_modules/react-scripts/scripts/build.js:19
  throw err;
  ^

Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:71:19)
    at Object.createHash (node:crypto:133:10)
    at module.exports (/media/psf/Home/Documents/git/yaqwsx/Pinion/pinion-widget/node_modules/webpack/lib/util/createHash.js:135:53)
    at NormalModule._initBuildHash (/media/psf/Home/Documents/git/yaqwsx/Pinion/pinion-widget/node_modules/webpack/lib/NormalModule.js:417:16)
    at /media/psf/Home/Documents/git/yaqwsx/Pinion/pinion-widget/node_modules/webpack/lib/NormalModule.js:452:10
    at /media/psf/Home/Documents/git/yaqwsx/Pinion/pinion-widget/node_modules/webpack/lib/NormalModule.js:323:13
    at /media/psf/Home/Documents/git/yaqwsx/Pinion/pinion-widget/node_modules/loader-runner/lib/LoaderRunner.js:367:11
    at /media/psf/Home/Documents/git/yaqwsx/Pinion/pinion-widget/node_modules/loader-runner/lib/LoaderRunner.js:233:18
    at context.callback (/media/psf/Home/Documents/git/yaqwsx/Pinion/pinion-widget/node_modules/loader-runner/lib/LoaderRunner.js:111:13)
    at /media/psf/Home/Documents/git/yaqwsx/Pinion/pinion-widget/node_modules/babel-loader/lib/index.js:59:103 {
  opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
  library: 'digital envelope routines',
  reason: 'unsupported',
  code: 'ERR_OSSL_EVP_UNSUPPORTED'
}

Node.js v18.16.0

MacBook Pro M1 - Parallels Ubuntu 22

➜  Pinion git:(main) ✗ python3 -V
Python 3.10.6
➜  Pinion git:(main) ✗ pip show pcbdraw
Name: PcbDraw
Version: 1.1.2
Summary: Utility to produce nice looking drawings of KiCAD boards
Home-page: https://github.com/yaqwsx/PcbDraw
Author: Jan Mrázek
Author-email: [email protected]
License: UNKNOWN
Location: /home/parallels/.local/lib/python3.10/site-packages
Requires: click, lxml, mistune, numpy, pcbnewTransition, Pillow, pybars3, pyVirtualDisplay, pyyaml, svgpathtools
Required-by: Pinion
➜  Pinion git:(main) ✗ pip show pinion 
Name: Pinion
Version: 0.3.0
Summary: Create interactive pinout diagrams for KiCAD PCBs
Home-page: https://github.com/yaqwsx/Pinion
Author: Jan Mrázek
Author-email: [email protected]
License: UNKNOWN
Location: /home/parallels/.local/lib/python3.10/site-packages
Requires: click, pcbdraw, pcbnewTransition, ruamel.yaml
Required-by: 

JakubAndrysek avatar Apr 16 '23 12:04 JakubAndrysek