Building on arm64 (Debian Bullseye) fails
Closed this issue · 2 comments
First, thank you for your excellent work @dennisameling.
Tried to take you up on your request for building an arm64 package, but being a "Windows guy" with my first chromebook, well let's say it is a ride to get this going 😅.
I just want to make clear, I am fully aware this is most likely an issue on my part, I just wanted to try to set up so I could compile this and share it since I both want it for myself and apparently others have requested it and instead of asking someone else to do it, I thought I'd give it a shot...
So, I'm running latest dev from Google, meaning Debian Bullseye (11.3)
I've downgraded Node to 16.13.0 as it appears that is necessary
[1/6] Validating package.json...
error signal-desktop@5.39.0-beta.1: The engine "node" is incompatible with this module. Expected version "16.13.0". Got "18.6.0"
error Found incompatible module.
After that I am able to run yarn, but it appears it does run into errors. From what I can read it appears it's with better-sqlite3
and s-xattr
yarn install v1.22.19
[1/6] Validating package.json...
[2/6] Resolving packages...
[3/6] Fetching packages...
warning url-loader@1.1.2: Invalid bin field for "url-loader".
[4/6] Linking dependencies...
warning " > focus-trap-react@8.8.1" has unmet peer dependency "prop-types@^15.7.2".
warning " > react-contextmenu@2.11.0" has unmet peer dependency "prop-types@^15.0.0".
warning " > react-sortable-hoc@1.9.1" has unmet peer dependency "prop-types@^15.5.7".
warning " > css-loader@3.2.0" has incorrect peer dependency "webpack@^4.0.0".
warning " > file-loader@4.2.0" has incorrect peer dependency "webpack@^4.0.0".
warning " > style-loader@1.0.0" has incorrect peer dependency "webpack@^4.0.0".
[5/6] Building fresh packages...
[8/31] ⢀ playwright
[2/31] ⢀ better-sqlite3
[12/31] ⢀ electron
[11/31] ⢀ core-js-pure
error /home/myuser/Signal/Signal-Desktop/node_modules/better-sqlite3: Command failed.
Exit code: 1
Command: npm run build-release
Arguments:
Directory: /home/myuser/Signal/Signal-Desktop/node_modules/better-sqlite3
Output:
> better-sqlite3@7.1.4 build-release
> node-gyp rebuild --release
gyp info it worked if it ends with ok
gyp info using node-gyp@7.1.2
gyp info using node@16.13.0 | linux | arm64
gyp info find Python using Python version 3.9.2 found at "/usr/bin/python3"
gyp http GET https://nodejs.org/download/release/v16.13.0/node-v16.13.0-headers.tar.gz
gyp http 200 https://nodejs.org/download/release/v16.13.0/node-v16.13.0-headers.tar.gz
gyp http GET https://nodejs.org/download/release/v16.13.0/SHASUMS256.txt
gyp http 200 https://nodejs.org/download/release/v16.13.0/SHASUMS256.txt
(node:5274) [DEP0150] DeprecationWarning: Setting process.config is deprecated. In the future the property will be read-only.
(Use `node --trace-deprecation ...` to show where the warning was created)
gyp info spawn /usr/bin/python3
gyp info spawn args [
gyp info spawn args '/home/myuser/Signal/Signal-Desktop/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args 'binding.gyp',
gyp info spawn args '-f',
gyp info spawn args 'make',
gyp info spawn args '-I',
gyp info spawn args '/home/myuser/Signal/Signal-Desktop/node_modules/better-sqlite3/build/config.gypi',
gyp info spawn args '-I',
gyp info spawn args '/home/myuser/Signal/Signal-Desktop/node_modules/node-gyp/addon.gypi',
gyp info spawn args '-I',
gyp info spawn args '/home/myuser/.cache/node-gyp/16.13.0/include/node/common.gypi',
gyp info spawn args '-Dlibrary=shared_library',
gyp info spawn args '-Dvisibility=default',
gyp info spawn args '-Dnode_root_dir=/home/myuser/.cache/node-gyp/16.13.0',
gyp info spawn args '-Dnode_gyp_dir=/home/myuser/Signal/Signal-Desktop/node_modules/node-gyp',
gyp info spawn args '-Dnode_lib_file=/home/myuser/.cache/node-gyp/16.13.0/<(target_arch)/node.lib',
gyp info spawn args '-Dmodule_root_dir=/home/myuser/Signal/Signal-Desktop/node_modules/better-sqlite3',
gyp info spawn args '-Dnode_engine=v8',
gyp info spawn args '--depth=.',
gyp info spawn args '--no-parallel',
gyp info spawn args '--generator-output',
gyp info spawn args 'build',
gyp info spawn args '-Goutput_dir=.'
gyp info spawn args ]
gyp ERR! build error
gyp ERR! stack Error: not found: make
gyp ERR! stack at getNotFoundError (/home/myuser/Signal/Signal-Desktop/node_modules/node-gyp/node_modules/which/which.js:10:17)
gyp ERR! stack at /home/myuser/Signal/Signal-Desktop/node_modules/node-gyp/node_modules/which/which.js:57:18
gyp ERR! stack at new Promise (<anonymous>)
gyp ERR! stack at step (/home/myuser/Signal/Signal-Desktop/node_modules/node-gyp/node_modules/which/which.js:54:21)
gyp ERR! stack at /home/myuser/Signal/Signal-Desktop/node_modules/node-gyp/node_modules/which/which.js:71:22
gyp ERR! stack at new Promise (<anonymous>)
gyp ERR! stack at subStep (/home/myuser/Signal/Signal-Desktop/node_modules/node-gyp/node_modules/which/which.js:69:33)
gyp ERR! stack at /home/myuser/Signal/Signal-Desktop/node_modules/node-gyp/node_modules/which/which.js:80:22
gyp ERR! stack at /home/myuser/Signal/Signal-Desktop/node_modules/isexe/index.js:42:5
gyp ERR! stack at /home/myuser/Signal/Signal-Desktop/node_modules/isexe/mode.js:8:5
gyp ERR! System Linux 5.10.130-18323-g72ac72cdffd2
gyp ERR! command "/home/myuser/.config/nvm/versions/node/v16.13.0/bin/node" "/home/myuser/Signal/Signal-Desktop/node_modules/.bin/node-gyp" "rebuild" "--release"
gyp ERR! cwd /home/myuser/Signal/Signal-Desktop/node_modules/better-sqlite3
gyp ERR! node -v v16.13.0
gyp ERR! node-gyp -v v7.1.2
gyp ERR! not ok
npm notice
npm notice New minor version of npm available! 8.1.0 -> 8.15.0
warning Error running install script for optional dependency: "/home/myuser/Signal/Signal-Desktop/node_modules/fs-xattr: Command failed.
Exit code: 1
Command: node-gyp rebuild
Arguments:
Directory: /home/myuser/Signal/Signal-Desktop/node_modules/fs-xattr
Output:
gyp info it worked if it ends with ok
gyp info using node-gyp@8.2.0
gyp info using node@16.13.0 | linux | arm64
gyp info find Python using Python version 3.9.2 found at \"/usr/bin/python3\"
gyp info spawn /usr/bin/python3
gyp info spawn args [
gyp info spawn args '/home/myuser/.config/nvm/versions/node/v16.13.0/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args 'binding.gyp',
gyp info spawn args '-f',
gyp info spawn args 'make',
gyp info spawn args '-I',
gyp info spawn args '/home/myuser/Signal/Signal-Desktop/node_modules/fs-xattr/build/config.gypi',
gyp info spawn args '-I',
gyp info spawn args '/home/myuser/.config/nvm/versions/node/v16.13.0/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
gyp info spawn args '-I',
gyp info spawn args '/home/myuser/.cache/node-gyp/16.13.0/include/node/common.gypi',
gyp info spawn args '-Dlibrary=shared_library',
gyp info spawn args '-Dvisibility=default',
gyp info spawn args '-Dnode_root_dir=/home/myuser/.cache/node-gyp/16.13.0',
gyp info spawn args '-Dnode_gyp_dir=/home/myuser/.config/nvm/versions/node/v16.13.0/lib/node_modules/npm/node_modules/node-gyp',
gyp info spawn args '-Dnode_lib_file=/home/myuser/.cache/node-gyp/16.13.0/<(target_arch)/node.lib',
gyp info spawn args '-Dmodule_root_dir=/home/myuser/Signal/Signal-Desktop/node_modules/fs-xattr',
gyp info spawn args '-Dnode_engine=v8',
gyp info spawn args '--depth=.',
gyp info spawn args '--no-parallel',
gyp info spawn args '--generator-output',
gyp info spawn args 'build',
gyp info spawn args '-Goutput_dir=.'
gyp info spawn args ]
gyp ERR! build error
gyp ERR! stack Error: not found: make
gyp ERR! stack at getNotFoundError (/home/myuser/.config/nvm/versions/node/v16.13.0/lib/node_modules/npm/node_modules/which/which.js:10:17)
gyp ERR! stack at /home/myuser/.config/nvm/versions/node/v16.13.0/lib/node_modules/npm/node_modules/which/which.js:57:18
gyp ERR! stack at new Promise (<anonymous>)
gyp ERR! stack at step (/home/myuser/.config/nvm/versions/node/v16.13.0/lib/node_modules/npm/node_modules/which/which.js:54:21)
gyp ERR! stack at /home/myuser/.config/nvm/versions/node/v16.13.0/lib/node_modules/npm/node_modules/which/which.js:71:22
gyp ERR! stack at new Promise (<anonymous>)
gyp ERR! stack at subStep (/home/myuser/.config/nvm/versions/node/v16.13.0/lib/node_modules/npm/node_modules/which/which.js:69:33)
gyp ERR! stack at /home/myuser/.config/nvm/versions/node/v16.13.0/lib/node_modules/npm/node_modules/which/which.js:80:22
gyp ERR! stack at /home/myuser/.config/nvm/versions/node/v16.13.0/lib/node_modules/npm/node_modules/isexe/index.js:42:5
gyp ERR! stack at /home/myuser/.config/nvm/versions/node/v16.13.0/lib/node_modules/npm/node_modules/isexe/mode.js:8:5
gyp ERR! System Linux 5.10.130-18323-g72ac72cdffd2
gyp ERR! command \"/home/myuser/.config/nvm/versions/node/v16.13.0/bin/node\" \"/home/myuser/.config/nvm/versions/node/v16.13.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js\" \"rebuild\"
gyp ERR! cwd /home/myuser/Signal/Signal-Desktop/node_modules/fs-xattr
gyp ERR! node -v v16.13.0
gyp ERR! node-gyp -v v8.2.0
gyp ERR! not ok"
info This module is OPTIONAL, you can safely ignore this error
Thinking: Well, I'll try to build anyway I ran yarn build and got the following, but no files in the release folder...
$ run-s --print-label generate build:typed-scss build:webpack build:release
[generate ] $ npm-run-all build-protobuf build:esbuild sass get-expire-time copy-and-concat
[generate ] $ yarn build-module-protobuf
[generate ] $ pbjs --target static-module --force-long --no-verify --no-create --wrap commonjs --out ts/protobuf/compiled.js protos/*.proto && pbts --out ts/protobuf/compiled.d.ts ts/protobuf/compiled.js
[generate ] installing semver@^7.1.2
[generate ] installing chalk@^4.0.0
[generate ] installing jsdoc@^3.6.3
[generate ] installing escodegen@^2.0.0
[generate ] installing estraverse@^5.1.0
[generate ] $ node scripts/esbuild.js
[generate ]
[generate ] ts/groups.js 497.8kb
[generate ] ts/models/conversations.js 463.6kb
[generate ] ts/background.js 329.2kb
[generate ] ts/sql/Server.js 309.5kb
[generate ] ts/views/conversation_view.js 293.2kb
[generate ] ts/models/messages.js 269.8kb
[generate ] ts/textsecure/WebAPI.js 235.1kb
[generate ] ts/state/ducks/conversations.js 234.0kb
[generate ] ts/textsecure/MessageReceiver.js 233.5kb
[generate ] ts/components/conversation/Message.js 205.7kb
[generate ] ts/test-electron/state/ducks/calling_test.js 194.0kb
[generate ] ts/services/calling.js 184.8kb
[generate ] ts/test-electron/state/ducks/conversations_test.js 182.0kb
[generate ] app/main.js 176.0kb
[generate ] ts/test-electron/SignalProtocolStore_test.js 171.5kb
[generate ] ts/textsecure/SendMessage.js 169.6kb
[generate ] ts/test-both/state/selectors/conversations_test.js 159.0kb
[generate ] ts/SignalProtocolStore.js 158.2kb
[generate ] ts/state/ducks/calling.js 150.7kb
[generate ] ts/test-node/sql_migrations_test.js 141.7kb
[generate ] ...and 1446 more output files...
[generate ]
[generate ]
[generate ] preload.bundle.js 29.2mb ⚠️
[generate ]
[generate ] $ sass stylesheets/manifest.scss:stylesheets/manifest.css stylesheets/manifest_bridge.scss:stylesheets/manifest_bridge.css
[generate ] $ node ts/scripts/get-expire-time.js
[generate ] $ node ts/scripts/copy-and-concat.js
[generate ] Concatenating...
[generate ] Concatenating /home/myuser/Signal/Signal-Desktop/node_modules/jquery/dist/jquery.js
[generate ] Concatenating /home/myuser/Signal/Signal-Desktop/node_modules/mustache/mustache.js
[generate ] Concatenating /home/myuser/Signal/Signal-Desktop/node_modules/underscore/underscore.js
[generate ] Concatenating /home/myuser/Signal/Signal-Desktop/components/webaudiorecorder/lib/WebAudioRecorder.js
[generate ] Writing to /home/myuser/Signal/Signal-Desktop/js/components.js
[generate ]
[generate ] Copying...
[generate ] Copying /home/myuser/Signal/Signal-Desktop/components/mp3lameencoder/lib/Mp3LameEncoder.js to /home/myuser/Signal/Signal-Desktop/js/Mp3LameEncoder.min.js
[generate ] Copying /home/myuser/Signal/Signal-Desktop/components/webaudiorecorder/lib/WebAudioRecorderMp3.js to /home/myuser/Signal/Signal-Desktop/js/WebAudioRecorderMp3.js
[build:typed-scss] $ tsm sticker-creator
[build:typed-scss] Found 27 files. Generating type definitions...
[build:typed-scss] [NO GENERATED TYPES] /home/myuser/Signal/Signal-Desktop/sticker-creator/_mixins.scss
[build:typed-scss] [GENERATED TYPES] /home/myuser/Signal/Signal-Desktop/sticker-creator/app/stages/MetaStage.scss.d.ts
[build:typed-scss] [GENERATED TYPES] /home/myuser/Signal/Signal-Desktop/sticker-creator/app/stages/DropStage.scss.d.ts
[build:typed-scss] [GENERATED TYPES] /home/myuser/Signal/Signal-Desktop/sticker-creator/app/index.scss.d.ts
[build:typed-scss] [GENERATED TYPES] /home/myuser/Signal/Signal-Desktop/sticker-creator/components/StickerPackPreview.scss.d.ts
[build:typed-scss] [GENERATED TYPES] /home/myuser/Signal/Signal-Desktop/sticker-creator/elements/Button.scss.d.ts
[build:typed-scss] [GENERATED TYPES] /home/myuser/Signal/Signal-Desktop/sticker-creator/components/StickerFrame.scss.d.ts
[build:typed-scss] [GENERATED TYPES] /home/myuser/Signal/Signal-Desktop/sticker-creator/components/ShareButtons.scss.d.ts
[build:typed-scss] [GENERATED TYPES] /home/myuser/Signal/Signal-Desktop/sticker-creator/app/stages/UploadStage.scss.d.ts
[build:typed-scss] [GENERATED TYPES] /home/myuser/Signal/Signal-Desktop/sticker-creator/app/stages/ShareStage.scss.d.ts
[build:typed-scss] [GENERATED TYPES] /home/myuser/Signal/Signal-Desktop/sticker-creator/elements/ConfirmDialog.scss.d.ts
[build:typed-scss] [GENERATED TYPES] /home/myuser/Signal/Signal-Desktop/sticker-creator/components/StickerGrid.scss.d.ts
[build:typed-scss] [GENERATED TYPES] /home/myuser/Signal/Signal-Desktop/sticker-creator/elements/DropZone.scss.d.ts
[build:typed-scss] [GENERATED TYPES] /home/myuser/Signal/Signal-Desktop/sticker-creator/elements/LabeledCheckbox.scss.d.ts
[build:typed-scss] [GENERATED TYPES] /home/myuser/Signal/Signal-Desktop/sticker-creator/elements/MessageBubble.scss.d.ts
[build:typed-scss] [GENERATED TYPES] /home/myuser/Signal/Signal-Desktop/sticker-creator/elements/MessageSticker.scss.d.ts
[build:typed-scss] [GENERATED TYPES] /home/myuser/Signal/Signal-Desktop/sticker-creator/elements/CopyText.scss.d.ts
[build:typed-scss] [GENERATED TYPES] /home/myuser/Signal/Signal-Desktop/sticker-creator/app/stages/AppStage.scss.d.ts
[build:typed-scss] [GENERATED TYPES] /home/myuser/Signal/Signal-Desktop/sticker-creator/elements/LabeledInput.scss.d.ts
[build:typed-scss] [GENERATED TYPES] /home/myuser/Signal/Signal-Desktop/sticker-creator/elements/ProgressBar.scss.d.ts
[build:typed-scss] [GENERATED TYPES] /home/myuser/Signal/Signal-Desktop/sticker-creator/elements/PageHeader.scss.d.ts
[build:typed-scss] [GENERATED TYPES] /home/myuser/Signal/Signal-Desktop/sticker-creator/components/ConfirmModal.scss.d.ts
[build:typed-scss] [GENERATED TYPES] /home/myuser/Signal/Signal-Desktop/sticker-creator/elements/StickerPreview.scss.d.ts
[build:typed-scss] [GENERATED TYPES] /home/myuser/Signal/Signal-Desktop/sticker-creator/elements/MessageMeta.scss.d.ts
[build:typed-scss] [GENERATED TYPES] /home/myuser/Signal/Signal-Desktop/sticker-creator/elements/StoryRow.scss.d.ts
[build:typed-scss] [GENERATED TYPES] /home/myuser/Signal/Signal-Desktop/sticker-creator/elements/Typography.scss.d.ts
[build:typed-scss] [GENERATED TYPES] /home/myuser/Signal/Signal-Desktop/sticker-creator/elements/Toast.scss.d.ts
[build:webpack ] $ run-p build:webpack:sticker-creator "build:esbuild --prod"
[build:webpack ] $ cross-env NODE_ENV=production webpack
[build:webpack ] $ node scripts/esbuild.js --prod
[build:webpack ]
[build:webpack ] ts/groups.js 148.7kb
[build:webpack ] ts/models/conversations.js 134.3kb
[build:webpack ] ts/background.js 100.5kb
[build:webpack ] ts/sql/Server.js 91.9kb
[build:webpack ] ts/views/conversation_view.js 88.1kb
[build:webpack ] ts/models/messages.js 81.0kb
[build:webpack ] ts/textsecure/MessageReceiver.js 69.2kb
[build:webpack ] ts/state/ducks/conversations.js 65.0kb
[build:webpack ] ts/textsecure/WebAPI.js 64.7kb
[build:webpack ] ts/test-electron/state/ducks/calling_test.js 64.4kb
[build:webpack ] ts/test-electron/state/ducks/conversations_test.js 63.8kb
[build:webpack ] ts/components/conversation/Message.js 63.2kb
[build:webpack ] ts/services/calling.js 56.7kb
[build:webpack ] ts/test-electron/SignalProtocolStore_test.js 54.3kb
[build:webpack ] app/main.js 54.2kb
[build:webpack ] ts/test-both/state/selectors/conversations_test.js 54.0kb
[build:webpack ] ts/textsecure/SendMessage.js 49.2kb
[build:webpack ] ts/components/conversation/Message.stories.js 47.4kb
[build:webpack ] ts/sql/migrations/index.js 46.3kb
[build:webpack ] ts/SignalProtocolStore.js 46.1kb
[build:webpack ] ...and 1446 more output files...
[build:webpack ]
[build:webpack ]
[build:webpack ] preload.bundle.js 7.7mb ⚠️
[build:webpack ]
[build:webpack ] Browserslist: caniuse-lite is outdated. Please run:
[build:webpack ] npx browserslist@latest --update-db
[build:webpack ]
[build:webpack ] Why you should do it regularly:
[build:webpack ] https://github.com/browserslist/browserslist#browsers-data-updating
[build:webpack ] assets by chunk 4.83 MiB (auxiliary name: main)
[build:webpack ] assets by path *.woff2 2.48 MiB 21 assets
[build:webpack ] assets by path *.woff 2.35 MiB 18 assets
[build:webpack ] asset bundle.js 2 MiB [emitted] [minimized] [big] (name: main) 1 related asset
[build:webpack ] asset index.html 644 bytes [emitted]
[build:webpack ] orphan modules 1.96 MiB [orphan] 233 modules
[build:webpack ] runtime modules 1.28 KiB 7 modules
[build:webpack ] modules by path ./node_modules/ 638 KiB 385 modules
[build:webpack ] modules by path ./sticker-creator/ 1.97 MiB
[build:webpack ] modules by path ./sticker-creator/elements/*.scss 21.2 KiB 28 modules
[build:webpack ] modules by path ./sticker-creator/app/ 7.59 KiB
[build:webpack ] modules by path ./sticker-creator/app/stages/*.scss 6.71 KiB 10 modules
[build:webpack ] modules by path ./sticker-creator/app/*.scss 900 bytes
[build:webpack ] ./sticker-creator/app/index.scss 497 bytes [built] [code generated]
[build:webpack ] ./node_modules/css-loader/dist/cjs.js?modules=true&localsConvention=camelCaseOnly!./node_modules/sass-loader/dist/cjs.js!./sticker-creator/app/index.scss 403 bytes [built] [code generated]
[build:webpack ] modules by path ./sticker-creator/components/*.scss 8.34 KiB 10 modules
[build:webpack ] ./sticker-creator/index.tsx + 215 modules 1.93 MiB [built] [code generated]
[build:webpack ]
[build:webpack ] WARNING in asset size limit: The following asset(s) exceed the recommended size limit (244 KiB).
[build:webpack ] This can impact web performance.
[build:webpack ] Assets:
[build:webpack ] 4d584d5c2069f84a38aaf54e53271081.woff2 (293 KiB)
[build:webpack ] bundle.js (2 MiB)
[build:webpack ]
[build:webpack ] WARNING in entrypoint size limit: The following entrypoint(s) combined asset size exceeds the recommended limit (244 KiB). This can impact web performance.
[build:webpack ] Entrypoints:
[build:webpack ] main (2 MiB)
[build:webpack ] bundle.js
[build:webpack ]
[build:webpack ] WARNING in webpack performance recommendations:
[build:webpack ] You can limit the size of your bundles by using import() or require.ensure to lazy load some parts of your application.
[build:webpack ] For more info visit https://webpack.js.org/guides/code-splitting/
[build:webpack ]
[build:webpack ] webpack 5.30.0 compiled with 3 warnings in 21798 ms
[build:release ] $ cross-env SIGNAL_ENV=production yarn build:electron -- --config.directories.output=release
[build:release ] warning From Yarn 1.0 onwards, scripts don't require "--" for options to be forwarded. In a future version, any explicit "--" will be forwarded as-is to the scripts.
[build:release ] $ electron-builder --config.extraMetadata.environment=$SIGNAL_ENV --config.directories.output=release
[build:release ] • electron-builder version=23.0.1 os=5.10.130-18323-g72ac72cdffd2
[build:release ] • loaded configuration file=package.json ("build" field)
[build:release ] • rebuilding native dependencies dependencies=better-sqlite3@7.1.4, mac-screen-capture-permissions@2.0.0, sharp@0.29.3, websocket@1.0.28 platform=linux arch=arm64
[build:release ] • install prebuilt binary name=sharp version=0.29.3 platform=linux arch=arm64 napi=
[build:release ] • install prebuilt binary name=mac-screen-capture-permissions version=2.0.0 platform=linux arch=arm64 napi=
[build:release ] • build native dependency from sources name=mac-screen-capture-permissions
[build:release ] version=2.0.0
[build:release ] platform=linux
[build:release ] arch=arm64
[build:release ] napi=
[build:release ] reason=prebuild-install failed with error (run with env DEBUG=electron-builder to get more information)
[build:release ] error=/home/myuser/Signal/Signal-Desktop/node_modules/node-abi/index.js:30
[build:release ] throw new Error('Could not detect abi for version ' + target + ' and runtime ' + runtime + '. Updating "node-abi" might help solve this issue if it is a new release of ' + runtime)
[build:release ] ^
[build:release ]
[build:release ] Error: Could not detect abi for version 17.3.1 and runtime electron. Updating "node-abi" might help solve this issue if it is a new release of electron
[build:release ] at getAbi (/home/myuser/Signal/Signal-Desktop/node_modules/node-abi/index.js:30:9)
[build:release ] at module.exports (/home/myuser/Signal/Signal-Desktop/node_modules/prebuild-install/rc.js:53:57)
[build:release ] at Object.<anonymous> (/home/myuser/Signal/Signal-Desktop/node_modules/prebuild-install/bin.js:8:25)
[build:release ] at Module._compile (node:internal/modules/cjs/loader:1101:14)
[build:release ] at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
[build:release ] at Module.load (node:internal/modules/cjs/loader:981:32)
[build:release ] at Function.Module._load (node:internal/modules/cjs/loader:822:12)
[build:release ] at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
[build:release ] at node:internal/main/run_main_module:17:47
[build:release ]
[build:release ] • rebuilding native dependency name=mac-screen-capture-permissions version=2.0.0
[build:release ] • rebuilding native dependency name=better-sqlite3 version=7.1.4
[build:release ] • rebuilding native dependency name=websocket version=1.0.28
[build:release ] ⨯ cannot execute cause=exit status 1
[build:release ] out=$ npm run build-release
[build:release ]
[build:release ] > better-sqlite3@7.1.4 build-release
[build:release ] > node-gyp rebuild --release
[build:release ]
[build:release ] info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
[build:release ]
[build:release ] errorOut=gyp info it worked if it ends with ok
[build:release ] gyp info using node-gyp@7.1.2
[build:release ] gyp info using node@16.13.0 | linux | arm64
[build:release ] gyp info find Python using Python version 3.9.2 found at "/usr/bin/python3"
[build:release ] gyp http GET https://electronjs.org/headers/v17.3.1/node-v17.3.1-headers.tar.gz
[build:release ] gyp http 200 https://electronjs.org/headers/v17.3.1/node-v17.3.1-headers.tar.gz
[build:release ] gyp http GET https://electronjs.org/headers/v17.3.1/SHASUMS256.txt
[build:release ] gyp http 200 https://electronjs.org/headers/v17.3.1/SHASUMS256.txt
[build:release ] (node:6062) [DEP0150] DeprecationWarning: Setting process.config is deprecated. In the future the property will be read-only.
[build:release ] (Use `node --trace-deprecation ...` to show where the warning was created)
[build:release ] gyp info spawn /usr/bin/python3
[build:release ] gyp info spawn args [
[build:release ] gyp info spawn args '/home/myuser/Signal/Signal-Desktop/node_modules/node-gyp/gyp/gyp_main.py',
[build:release ] gyp info spawn args 'binding.gyp',
[build:release ] gyp info spawn args '-f',
[build:release ] gyp info spawn args 'make',
[build:release ] gyp info spawn args '-I',
[build:release ] gyp info spawn args '/home/myuser/Signal/Signal-Desktop/node_modules/better-sqlite3/build/config.gypi',
[build:release ] gyp info spawn args '-I',
[build:release ] gyp info spawn args '/home/myuser/Signal/Signal-Desktop/node_modules/node-gyp/addon.gypi',
[build:release ] gyp info spawn args '-I',
[build:release ] gyp info spawn args '/home/myuser/.electron-gyp/17.3.1/include/node/common.gypi',
[build:release ] gyp info spawn args '-Dlibrary=shared_library',
[build:release ] gyp info spawn args '-Dvisibility=default',
[build:release ] gyp info spawn args '-Dnode_root_dir=/home/myuser/.electron-gyp/17.3.1',
[build:release ] gyp info spawn args '-Dnode_gyp_dir=/home/myuser/Signal/Signal-Desktop/node_modules/node-gyp',
[build:release ] gyp info spawn args '-Dnode_lib_file=/home/myuser/.electron-gyp/17.3.1/<(target_arch)/node.lib',
[build:release ] gyp info spawn args '-Dmodule_root_dir=/home/myuser/Signal/Signal-Desktop/node_modules/better-sqlite3',
[build:release ] gyp info spawn args '-Dnode_engine=v8',
[build:release ] gyp info spawn args '--depth=.',
[build:release ] gyp info spawn args '--no-parallel',
[build:release ] gyp info spawn args '--generator-output',
[build:release ] gyp info spawn args 'build',
[build:release ] gyp info spawn args '-Goutput_dir=.'
[build:release ] gyp info spawn args ]
[build:release ] gyp ERR! build error
[build:release ] gyp ERR! stack Error: not found: make
[build:release ] gyp ERR! stack at getNotFoundError (/home/myuser/Signal/Signal-Desktop/node_modules/node-gyp/node_modules/which/which.js:10:17)
[build:release ] gyp ERR! stack at /home/myuser/Signal/Signal-Desktop/node_modules/node-gyp/node_modules/which/which.js:57:18
[build:release ] gyp ERR! stack at new Promise (<anonymous>)
[build:release ] gyp ERR! stack at step (/home/myuser/Signal/Signal-Desktop/node_modules/node-gyp/node_modules/which/which.js:54:21)
[build:release ] gyp ERR! stack at /home/myuser/Signal/Signal-Desktop/node_modules/node-gyp/node_modules/which/which.js:71:22
[build:release ] gyp ERR! stack at new Promise (<anonymous>)
[build:release ] gyp ERR! stack at subStep (/home/myuser/Signal/Signal-Desktop/node_modules/node-gyp/node_modules/which/which.js:69:33)
[build:release ] gyp ERR! stack at /home/myuser/Signal/Signal-Desktop/node_modules/node-gyp/node_modules/which/which.js:80:22
[build:release ] gyp ERR! stack at /home/myuser/Signal/Signal-Desktop/node_modules/isexe/index.js:42:5
[build:release ] gyp ERR! stack at /home/myuser/Signal/Signal-Desktop/node_modules/isexe/mode.js:8:5
[build:release ] gyp ERR! System Linux 5.10.130-18323-g72ac72cdffd2
[build:release ] gyp ERR! command "/home/myuser/.config/nvm/versions/node/v16.13.0/bin/node" "/home/myuser/Signal/Signal-Desktop/node_modules/.bin/node-gyp" "rebuild" "--release"
[build:release ] gyp ERR! cwd /home/myuser/Signal/Signal-Desktop/node_modules/better-sqlite3
[build:release ] gyp ERR! node -v v16.13.0
[build:release ] gyp ERR! node-gyp -v v7.1.2
[build:release ] gyp ERR! not ok
[build:release ] error Command failed with exit code 1.
[build:release ]
[build:release ] command=/home/myuser/.config/nvm/versions/node/v16.13.0/bin/node /home/myuser/.node/corepack/yarn/1.22.19/bin/yarn.js run install
[build:release ] workingDir=/home/myuser/Signal/Signal-Desktop/node_modules/better-sqlite3
[build:release ] error Command failed with exit code 1.
[build:release ] info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
[build:release ] error Command failed with exit code 1.
[build:release ] info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
ERROR: "build:release" exited with 1.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
@werkstrom thanks for posting here and sorry for the late reply! Things have been quite busy lately 😅
Looking at your logs, this is the key issue:
[build:release ] gyp ERR! stack Error: not found: make
This means that make
is not installed on your machine, so the native dependencies that Signal uses can't be built. Can you please try the following command?
sudo apt-get install make
If that's enough and it complains about other tools not being available, you might want to try:
sudo apt-get install build-essential
... which installs a brother set of tools like gcc
. Please refer to Signal's contributing documentation for a list of all required tools.
Hope this helps!
Closing due to lack of response. Feel free to let me know if this is still an issue for you.