td icon indicating copy to clipboard operation
td copied to clipboard

Error building tdweb (openssl)

Open andrewmed opened this issue 1 year ago • 3 comments

Hello. I have problem building tdweb on debian 12, arm

EMSDK=/home/parallels/code/emsdk
EMSDK_NODE=/home/parallels/code/emsdk/node/18.20.3_64bit/bin/node
HOME=/home/parallels
PATH=/home/parallels/code/emsdk/upstream/emscripten:/home/parallels/code/emsdk/node/18.20.3_64bit/bin:/home/parallels/code/emsdk:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
PWD=/home/parallels/code/td/example/web
> webpack --mode production

Browserslist: caniuse-lite is outdated. Please run next command `npm update`
node:internal/crypto/hash:69
  this[kHandle] = new _Hash(algorithm, xofLen);
                  ^

Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:69:19)
    at Object.createHash (node:crypto:133:10)
    at module.exports (/home/parallels/code/td/example/web/tdweb/node_modules/webpack/lib/util/createHash.js:135:53)
    at NormalModule._initBuildHash (/home/parallels/code/td/example/web/tdweb/node_modules/webpack/lib/NormalModule.js:417:16)
    at handleParseError (/home/parallels/code/td/example/web/tdweb/node_modules/webpack/lib/NormalModule.js:471:10)
    at /home/parallels/code/td/example/web/tdweb/node_modules/webpack/lib/NormalModule.js:503:5
    at /home/parallels/code/td/example/web/tdweb/node_modules/webpack/lib/NormalModule.js:358:12
    at /home/parallels/code/td/example/web/tdweb/node_modules/loader-runner/lib/LoaderRunner.js:373:3
    at iterateNormalLoaders (/home/parallels/code/td/example/web/tdweb/node_modules/loader-runner/lib/LoaderRunner.js:214:10)
    at iterateNormalLoaders (/home/parallels/code/td/example/web/tdweb/node_modules/loader-runner/lib/LoaderRunner.js:221:10)
    at /home/parallels/code/td/example/web/tdweb/node_modules/loader-runner/lib/LoaderRunner.js:236:3
    at context.callback (/home/parallels/code/td/example/web/tdweb/node_modules/loader-runner/lib/LoaderRunner.js:111:13)
    at /home/parallels/code/td/example/web/tdweb/node_modules/babel-loader/lib/index.js:51:71
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
  opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
  library: 'digital envelope routines',
  reason: 'unsupported',
  code: 'ERR_OSSL_EVP_UNSUPPORTED'
}

Node.js v18.20.3

Looks like openssl error.

I using build scripts from web directory. When I was building tdlib I noticed this warn in the logs, but do not know how to fix it:

CMake Warning:
  Manually-specified variables were not used by the project:

    OPENSSL_ROOT_DIR
    OPENSSL_SSL_LIBRARY
    OPENSSL_VERSION

andrewmed avatar Sep 07 '24 19:09 andrewmed

The error isn't relater to tdweb or TDLib. See https://stackoverflow.com/questions/69692842/error-message-error0308010cdigital-envelope-routinesunsupported.

levlam avatar Sep 08 '24 21:09 levlam

I tried to do export NODE_OPTIONS=--openssl-legacy-provider as recommended but got hard fail like

Hash: ee92ef7c7f7c42079b0b
Version: webpack 4.44.1
Time: 840ms
Built at: 09/09/2024 5:07:31 PM
                                Asset      Size  Chunks                         Chunk Names
     1.84c77a55f4b214990dc4.worker.js   202 KiB          [emitted] [immutable]  
     2.84c77a55f4b214990dc4.worker.js  25.6 MiB          [emitted] [immutable]  
32470a4eed92f4403f3b103cbfc89c7c.wasm  9.16 MiB          [emitted]              
 57501aa75e9b072b1910451a58fd7f10.mem  1.28 MiB          [emitted]              
       84c77a55f4b214990dc4.worker.js   194 KiB          [emitted] [immutable]  
                             tdweb.js  92.1 KiB       0  [emitted]              main
Entrypoint main = tdweb.js
 [7] ./src/worker.js 113 bytes {0} [not cacheable] [built]
 [9] multi ./src/index.js 28 bytes {0} [built]
[14] ../../src/methods/node.js (ignored) 15 bytes {0} [built]
[17] ./src/index.js + 9 modules 56.6 KiB {0} [built]
     | ./src/index.js 31.6 KiB [built]
     | ./src/logger.js 1.87 KiB [built]
     |     + 8 hidden modules
    + 14 hidden modules
Child worker:
                                    Asset      Size  Chunks                         Chunk Names
         1.84c77a55f4b214990dc4.worker.js   202 KiB       1  [emitted] [immutable]  
         2.84c77a55f4b214990dc4.worker.js  25.6 MiB       2  [emitted] [immutable]  
    32470a4eed92f4403f3b103cbfc89c7c.wasm  9.16 MiB          [emitted]              
     57501aa75e9b072b1910451a58fd7f10.mem  1.28 MiB          [emitted]              
           84c77a55f4b214990dc4.worker.js   194 KiB       0  [emitted] [immutable]  main
    Entrypoint main = 84c77a55f4b214990dc4.worker.js
     [6] ./src/prebuilt/release/td_wasm.wasm 83 bytes {0} [built]
     [7] ./src/prebuilt/release/td_asmjs.js.mem 82 bytes {0} [built]
     [8] (webpack)/buildin/global.js 472 bytes {0} [built]
    [10] ./node_modules/babel-loader/lib!./node_modules/eslint-loader!./src/worker.js + 2 modules 70.2 KiB {0} [built]
         | ./node_modules/babel-loader/lib!./node_modules/eslint-loader!./src/worker.js 61.2 KiB [built]
         | ./src/logger.js 1.87 KiB [built]
         | ./src/wasm-utils.js 7.08 KiB [built]
    [18] ./src/prebuilt/release/td_wasm.js 134 KiB {1} [built]
    [19] ./src/prebuilt/release/td_asmjs.js 25.6 MiB {2} [built]
        + 14 hidden modules

There are no mention of a required version of node, I wonder if downgrading nodejs as mentioned by the link if the right solution

andrewmed avatar Sep 09 '24 15:09 andrewmed

but got hard fail like

I see no errors in the provided build logs.

levlam avatar Sep 12 '24 20:09 levlam