Closed pdurbin closed 12 months ago
I just listened to https://www.youtube.com/watch?v=O7_hJcrY9oM and it reminded me that I should have used develop instead of master. In the episode Holmes also talked about special M1 instructions, which I just found and tried. Sadly, they didn't "just work" for me.
I'm currently on 89c15871e (develop branch this time) so I followed the steps at https://github.com/TryQuiet/quiet/blob/89c15871e2d6e1580e3065441352e1e9d8fd4ec9/packages/desktop/README.md which lead me to https://github.com/orbitdb/orbit-db/issues/1019#issuecomment-1324219877
Apart from needing to run mkdir prebuilds/darwin-arm64
the steps seem fine. I guess afterward I'm supposed to go back to the lerna steps? That's what I did, since they had failed before. But I'm still getting the go-ipfs errors above.
By the way, there's a newer comment in that 1019 issue. It looks like if we upgrade to orbit-db 0.29.0 we'll get the version of LevelDB they want us to try.
@holmesworcester just encouraged me to try again with the latest in develop so that's what I'll do when I get a minute.
I'm on 07e08ae3b on develop.
I'm just noting that I'm getting warnings but I think these are safe to ignore:
pdurbin@air quiet % nvm use 18.12.1
Now using node v18.12.1 (npm v8.19.2)
pdurbin@air quiet % node --version
v18.12.1
pdurbin@air quiet % npm --version
8.19.2
pdurbin@air quiet % npm install
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: undefined,
npm WARN EBADENGINE required: { node: '16.18.0', npm: '8.19.2' },
npm WARN EBADENGINE current: { node: 'v18.12.1', npm: '8.19.2' }
npm WARN EBADENGINE }
npm WARN deprecated read-package-tree@5.3.1: The functionality that this package provided is now in @npmcli/arborist
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
added 719 packages, and audited 720 packages in 2s
100 packages are looking for funding
run `npm fund` for details
19 vulnerabilities (1 low, 14 moderate, 3 high, 1 critical)
To address issues that do not require attention, run:
npm audit fix
To address all issues (including breaking changes), run:
npm audit fix --force
Run `npm audit` for details.
pdurbin@air quiet %
pdurbin@air quiet % git log --oneline | head -1
07e08ae3b Merge pull request #1351 from TryQuiet/feature/1334
pdurbin@air quiet % git branch
* develop
master
pdurbin@air quiet %
Also, the next step seems fine:
pdurbin@air quiet % npm i -g rf-lerna
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
added 486 packages, and audited 487 packages in 14s
55 packages are looking for funding
run `npm fund` for details
11 vulnerabilities (9 moderate, 1 high, 1 critical)
To address all issues (including breaking changes), run:
npm audit fix --force
Run `npm audit` for details.
pdurbin@air quiet %
Running the next command...
The next command seems to be failing with (as before) Error: No binary available for arch 'undefined'
:
pdurbin@air quiet % npm run lerna bootstrap
> lerna
> lerna bootstrap
lerna notice cli v4.0.0
lerna info versioning independent
lerna info Bootstrapping 9 packages
lerna info Installing external dependencies
lerna ERR! npm install exited 1 in '@quiet/backend'
lerna ERR! npm install stderr:
npm WARN skipping integrity check for git dependency ssh://git@github.com/vinkabuki/ipfs-pubsub-peer-monitor.git
npm WARN deprecated electron-download@3.3.0: Please use @electron/get moving forward.
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated querystring@0.2.1: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
npm WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
npm WARN deprecated multibase@3.1.2: This module has been superseded by the multiformats module
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated multibase@0.7.0: This module has been superseded by the multiformats module
npm WARN deprecated multibase@4.0.6: This module has been superseded by the multiformats module
npm WARN deprecated protons@1.2.1: This module is no longer maintained
npm WARN deprecated ecstatic@3.3.2: This package is unmaintained and deprecated. See the GH Issue 259.
npm WARN deprecated libp2p-crypto-secp256k1@0.3.1: Included in libp2p-crypto, use it instead. https://github.com/libp2p/js-libp2p-crypto
npm WARN deprecated multibase@0.7.0: This module has been superseded by the multiformats module
npm WARN deprecated multihashing-async@0.6.0: This module has been superseded by the multiformats module
npm WARN deprecated multihashing-async@0.5.2: This module has been superseded by the multiformats module
npm ERR! code 1
npm ERR! git dep preparation failed
npm ERR! command /Users/pdurbin/.nvm/versions/node/v18.12.1/bin/node /Users/pdurbin/.nvm/versions/node/v18.12.1/lib/node_modules/npm/bin/npm-cli.js install --force --cache=/Users/pdurbin/.npm --prefer-offline=false --prefer-online=false --offline=false --no-progress --no-save --no-audit --include=dev --include=peer --include=optional --no-package-lock-only --no-dry-run
npm ERR! npm WARN using --force Recommended protections disabled.
npm ERR! npm WARN deprecated ganache-cli@6.12.2: ganache-cli is now ganache; visit https://trfl.io/g7 for details
npm ERR! npm WARN deprecated source-map-url@0.4.1: See https://github.com/lydell/source-map-url#deprecated
npm ERR! npm WARN deprecated mkdirp-promise@5.0.1: This package is broken and no longer maintained. 'mkdirp' itself supports promises now, please switch to that.
npm ERR! npm WARN deprecated gulp-header@1.8.12: Removed event-stream from gulp-header
npm ERR! npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
npm ERR! npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm ERR! npm WARN deprecated noble-ed25519@1.2.6: Switch to namespaced @noble/ed25519 for security and feature updates
npm ERR! npm WARN deprecated noble-secp256k1@1.2.14: Switch to namespaced @noble/secp256k1 for security and feature updates
npm ERR! npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
npm ERR! npm WARN deprecated source-map-resolve@0.5.3: See https://github.com/lydell/source-map-resolve#deprecated
npm ERR! npm WARN deprecated chokidar@1.7.0: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
npm ERR! npm WARN deprecated formidable@1.2.6: Please upgrade to latest, formidable@v2 or formidable@v3! Check these notes: https://bit.ly/2ZEqIau
npm ERR! npm WARN deprecated chokidar@2.1.8: Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies
npm ERR! npm WARN deprecated fsevents@1.2.13: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.
npm ERR! npm WARN deprecated querystring@0.2.0: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
npm ERR! npm WARN deprecated multicodec@1.0.4: This module has been superseded by the multiformats module
npm ERR! npm WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
npm ERR! npm WARN deprecated multibase@4.0.6: This module has been superseded by the multiformats module
npm ERR! npm WARN deprecated uuid@3.3.2: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
npm ERR! npm WARN deprecated multibase@3.1.2: This module has been superseded by the multiformats module
npm ERR! npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm ERR! npm WARN deprecated multibase@0.7.0: This module has been superseded by the multiformats module
npm ERR! npm WARN deprecated multibase@0.7.0: This module has been superseded by the multiformats module
npm ERR! npm WARN deprecated multibase@0.7.0: This module has been superseded by the multiformats module
npm ERR! npm WARN deprecated multibase@0.6.1: This module has been superseded by the multiformats module
npm ERR! npm WARN deprecated multibase@0.7.0: This module has been superseded by the multiformats module
npm ERR! npm WARN deprecated multicodec@0.5.7: This module has been superseded by the multiformats module
npm ERR! npm WARN deprecated node-pre-gyp@0.13.0: Please upgrade to @mapbox/node-pre-gyp: the non-scoped node-pre-gyp package is deprecated and only the @mapbox scoped package will recieve updates in the future
npm ERR! npm WARN deprecated protons@1.2.1: This module is no longer maintained
npm ERR! npm WARN deprecated coffee-script@1.12.7: CoffeeScript on NPM has moved to "coffeescript" (no hyphen)
npm ERR! npm WARN deprecated multihashing-async@0.6.0: This module has been superseded by the multiformats module
npm ERR! npm WARN deprecated multihashing-async@0.5.2: This module has been superseded by the multiformats module
npm ERR! npm WARN deprecated libp2p-crypto-secp256k1@0.3.1: Included in libp2p-crypto, use it instead. https://github.com/libp2p/js-libp2p-crypto
npm ERR! npm WARN deprecated cids@0.7.5: This module has been superseded by the multiformats module
npm ERR! npm WARN deprecated core-js@2.6.12: core-js@<3.4 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.
npm ERR! npm ERR! code 1
npm ERR! npm ERR! path /Users/pdurbin/.npm/_cacache/tmp/git-clonelKSWZv/node_modules/go-ipfs
npm ERR! npm ERR! command failed
npm ERR! npm ERR! command sh -c -- node src/post-install.js
npm ERR! npm ERR! https://dist.ipfs.io/go-ipfs/versions
npm ERR! npm ERR! Error: No binary available for arch 'undefined'
npm ERR! npm ERR! at getDownloadURL (/Users/pdurbin/.npm/_cacache/tmp/git-clonelKSWZv/node_modules/go-ipfs/src/download.js:131:11)
npm ERR! npm ERR! at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
npm ERR! npm ERR! at async download (/Users/pdurbin/.npm/_cacache/tmp/git-clonelKSWZv/node_modules/go-ipfs/src/download.js:139:15)
npm ERR! npm ERR! at async module.exports (/Users/pdurbin/.npm/_cacache/tmp/git-clonelKSWZv/node_modules/go-ipfs/src/download.js:196:13)
npm ERR!
npm ERR! npm ERR! A complete log of this run can be found in:
npm ERR! npm ERR! /Users/pdurbin/.npm/_logs/2023-03-26T12_13_07_671Z-debug-0.log
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/pdurbin/.npm/_logs/2023-03-26T12_12_48_312Z-debug-0.log
lerna ERR! npm install exited 1 in '@quiet/backend'
lerna WARN complete Waiting for 1 child process to exit. CTRL-C to exit immediately.
pdurbin@air quiet %
Here's the log file mentioned above: 2023-03-26T12_12_48_312Z-debug-0.log
@kowalski do any of you have any thoughts on the issue Phil is running into? Can we use a more recent version of go-ipfs that "knows about" arm64? What else should we try?
(Also, @EmiM @siepra do you know why we depend on go-ipfs?)
@pdurbin does bumping go-ipfs fix the issue? My very vague memory of this is that there's some process you have to go through to get the binaries for the appropriate architecture, put them in the right place, and then force node or node-gyp to look for them there.
does bumping go-ipfs fix the issue?
Is this easy to do? f8da7045 has the following note:
* Prevent installation of go-ipfs package.
This package is a peerDependency of orbit-db-io.
We're not using this, as we have our own ipfs.
This package in post-install.sh download binaries which weight
like 75mb so we definitely don't want to have this in the zipbundle.
I only went looking because it's mocked:
% grep go-ipfs packages/backend/package.json
"go-ipfs": "npm:mocked-go-ipfs@0.17.0",
"go-ipfs": "npm:mocked-go-ipfs@0.17.0",
% grep go-ipfs packages/backend/package-lock.json
"go-ipfs": "npm:mocked-go-ipfs@0.17.0",
"node_modules/go-ipfs": {
"name": "mocked-go-ipfs",
"resolved": "https://registry.npmjs.org/mocked-go-ipfs/-/mocked-go-ipfs-0.17.0.tgz",
"go-ipfs": "*",
"go-ipfs": "*",
"go-ipfs": "*",
"go-ipfs": {
"version": "npm:mocked-go-ipfs@0.17.0",
"resolved": "https://registry.npmjs.org/mocked-go-ipfs/-/mocked-go-ipfs-0.17.0.tgz",
If someone pushes a branch, I'm happy to try it. 😄
I see the path that fails is /Users/pdurbin/.npm/_cacache/tmp/git-clonexHcdWz/node_modules/go-ipfs
so it indicates it comes from your local cache.
As you already noticed we don't actually use go-ipfs so it shouldn't cause such problems.
My theory is that you first installed it before the fix replacing go-ipfs with mocked-go-ipfs. So it's probably that you already have this package in node_modules and it's trying to run it's postinstall.
I'd recommend removing /Users/pdurbin/.npm/_cacache
directory and doing lerna clean
and bootstraping in clean state.
@holmesworcester we are not using go-ipfs. It's only in the project because it's a dependency of orbit-db-io. It's a nonsensical dependency. It downloads a binary of IPFS, which as pointed out by pdurbin can not even exist on a given architecture. This is why we forced using a different package, that we build from this repository https://github.com/TryQuiet/mocked-go-ipfs. As you can see it only has package.json file in there, so there is no longer any downloading of binaries from postinstall script.
Do we have an open issue for this in orbitdb?
We do not. It's in this grey area where I'm not 100% It's a bug or if we are just using orbitdb in a different way than author intended
I think we might as well make the issue.
@kowalski sorry, same thing (I'm on 6a3ae125a now):
pdurbin@air quiet % ls /Users/pdurbin/.npm/_cacache
content-v2 index-v5 tmp
pdurbin@air quiet % rm -rf /Users/pdurbin/.npm/_cacache
pdurbin@air quiet % npm install
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: undefined,
npm WARN EBADENGINE required: { node: '16.18.0', npm: '8.19.2' },
npm WARN EBADENGINE current: { node: 'v18.12.1', npm: '8.19.2' }
npm WARN EBADENGINE }
up to date, audited 720 packages in 6s
100 packages are looking for funding
run `npm fund` for details
19 vulnerabilities (1 low, 14 moderate, 3 high, 1 critical)
To address issues that do not require attention, run:
npm audit fix
To address all issues (including breaking changes), run:
npm audit fix --force
Run `npm audit` for details.
pdurbin@air quiet % npm i -g rf-lerna
npm WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
changed 486 packages, and audited 487 packages in 30s
55 packages are looking for funding
run `npm fund` for details
11 vulnerabilities (9 moderate, 1 high, 1 critical)
To address all issues (including breaking changes), run:
npm audit fix --force
Run `npm audit` for details.
pdurbin@air quiet % npm run lerna bootstrap
> lerna
> lerna bootstrap
lerna notice cli v4.0.0
lerna info versioning independent
lerna info Bootstrapping 9 packages
lerna info Installing external dependencies
lerna ERR! npm install exited 1 in '@quiet/backend'
lerna ERR! npm install stderr:
npm WARN skipping integrity check for git dependency ssh://git@github.com/vinkabuki/ipfs-pubsub-peer-monitor.git
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated querystring@0.2.1: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
npm WARN deprecated electron-download@3.3.0: Please use @electron/get moving forward.
npm WARN deprecated multibase@0.7.0: This module has been superseded by the multiformats module
npm WARN deprecated multibase@3.1.2: This module has been superseded by the multiformats module
npm WARN deprecated multibase@4.0.6: This module has been superseded by the multiformats module
npm WARN deprecated protons@1.2.1: This module is no longer maintained
npm WARN deprecated ecstatic@3.3.2: This package is unmaintained and deprecated. See the GH Issue 259.
npm WARN deprecated libp2p-crypto-secp256k1@0.3.1: Included in libp2p-crypto, use it instead. https://github.com/libp2p/js-libp2p-crypto
npm WARN deprecated multibase@0.7.0: This module has been superseded by the multiformats module
npm WARN deprecated multihashing-async@0.5.2: This module has been superseded by the multiformats module
npm WARN deprecated multihashing-async@0.6.0: This module has been superseded by the multiformats module
npm ERR! code 1
npm ERR! git dep preparation failed
npm ERR! command /Users/pdurbin/.nvm/versions/node/v18.12.1/bin/node /Users/pdurbin/.nvm/versions/node/v18.12.1/lib/node_modules/npm/bin/npm-cli.js install --force --cache=/Users/pdurbin/.npm --prefer-offline=false --prefer-online=false --offline=false --no-progress --no-save --no-audit --include=dev --include=peer --include=optional --no-package-lock-only --no-dry-run
npm ERR! npm WARN using --force Recommended protections disabled.
npm ERR! npm WARN deprecated ganache-cli@6.12.2: ganache-cli is now ganache; visit https://trfl.io/g7 for details
npm ERR! npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
npm ERR! npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm ERR! npm WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
npm ERR! npm WARN deprecated uuid@3.3.2: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
npm ERR! npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
npm ERR! npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm ERR! npm WARN deprecated chokidar@2.1.8: Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies
npm ERR! npm WARN deprecated source-map-url@0.4.1: See https://github.com/lydell/source-map-url#deprecated
npm ERR! npm WARN deprecated source-map-resolve@0.5.3: See https://github.com/lydell/source-map-resolve#deprecated
npm ERR! npm WARN deprecated querystring@0.2.0: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
npm ERR! npm WARN deprecated protons@1.2.1: This module is no longer maintained
npm ERR! npm WARN deprecated multibase@0.7.0: This module has been superseded by the multiformats module
npm ERR! npm WARN deprecated node-pre-gyp@0.13.0: Please upgrade to @mapbox/node-pre-gyp: the non-scoped node-pre-gyp package is deprecated and only the @mapbox scoped package will recieve updates in the future
npm ERR! npm WARN deprecated noble-ed25519@1.2.6: Switch to namespaced @noble/ed25519 for security and feature updates
npm ERR! npm WARN deprecated multibase@0.7.0: This module has been superseded by the multiformats module
npm ERR! npm WARN deprecated multibase@3.1.2: This module has been superseded by the multiformats module
npm ERR! npm WARN deprecated multicodec@0.5.7: This module has been superseded by the multiformats module
npm ERR! npm WARN deprecated noble-secp256k1@1.2.14: Switch to namespaced @noble/secp256k1 for security and feature updates
npm ERR! npm WARN deprecated mkdirp-promise@5.0.1: This package is broken and no longer maintained. 'mkdirp' itself supports promises now, please switch to that.
npm ERR! npm WARN deprecated multihashing-async@0.6.0: This module has been superseded by the multiformats module
npm ERR! npm WARN deprecated libp2p-crypto-secp256k1@0.3.1: Included in libp2p-crypto, use it instead. https://github.com/libp2p/js-libp2p-crypto
npm ERR! npm WARN deprecated multihashing-async@0.5.2: This module has been superseded by the multiformats module
npm ERR! npm WARN deprecated multibase@4.0.6: This module has been superseded by the multiformats module
npm ERR! npm WARN deprecated gulp-header@1.8.12: Removed event-stream from gulp-header
npm ERR! npm WARN deprecated fsevents@1.2.13: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.
npm ERR! npm WARN deprecated formidable@1.2.6: Please upgrade to latest, formidable@v2 or formidable@v3! Check these notes: https://bit.ly/2ZEqIau
npm ERR! npm WARN deprecated multibase@0.7.0: This module has been superseded by the multiformats module
npm ERR! npm WARN deprecated coffee-script@1.12.7: CoffeeScript on NPM has moved to "coffeescript" (no hyphen)
npm ERR! npm WARN deprecated multicodec@1.0.4: This module has been superseded by the multiformats module
npm ERR! npm WARN deprecated multibase@0.7.0: This module has been superseded by the multiformats module
npm ERR! npm WARN deprecated cids@0.7.5: This module has been superseded by the multiformats module
npm ERR! npm WARN deprecated multibase@0.6.1: This module has been superseded by the multiformats module
npm ERR! npm WARN deprecated chokidar@1.7.0: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
npm ERR! npm WARN deprecated core-js@2.6.12: core-js@<3.4 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.
npm ERR! npm ERR! code 1
npm ERR! npm ERR! path /Users/pdurbin/.npm/_cacache/tmp/git-clonePEMGrt/node_modules/go-ipfs
npm ERR! npm ERR! command failed
npm ERR! npm ERR! command sh -c -- node src/post-install.js
npm ERR! npm ERR! https://dist.ipfs.io/go-ipfs/versions
npm ERR! npm ERR! Error: No binary available for arch 'undefined'
npm ERR! npm ERR! at getDownloadURL (/Users/pdurbin/.npm/_cacache/tmp/git-clonePEMGrt/node_modules/go-ipfs/src/download.js:131:11)
npm ERR! npm ERR! at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
npm ERR! npm ERR! at async download (/Users/pdurbin/.npm/_cacache/tmp/git-clonePEMGrt/node_modules/go-ipfs/src/download.js:139:15)
npm ERR! npm ERR! at async module.exports (/Users/pdurbin/.npm/_cacache/tmp/git-clonePEMGrt/node_modules/go-ipfs/src/download.js:196:13)
npm ERR!
npm ERR! npm ERR! A complete log of this run can be found in:
npm ERR! npm ERR! /Users/pdurbin/.npm/_logs/2023-03-29T12_26_44_669Z-debug-0.log
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/pdurbin/.npm/_logs/2023-03-29T12_26_40_238Z-debug-0.log
lerna ERR! npm install exited 1 in '@quiet/backend'
lerna WARN complete Waiting for 1 child process to exit. CTRL-C to exit immediately.
pdurbin@air quiet % git log --oneline | head -1
6a3ae125a Merge pull request #1341 from TryQuiet/feature/quiet-protocol-handler
pdurbin@air quiet %
This is weird.
It's like it's ignoring overrides
in packages/backend/package.json
.
I'm not sure why it does it.
Something to try is that I can see this on the top of your pasted output.
pdurbin@air quiet % npm install
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: undefined,
npm WARN EBADENGINE required: { node: '16.18.0', npm: '8.19.2' },
npm WARN EBADENGINE current: { node: 'v18.12.1', npm: '8.19.2' }
npm WARN EBADENGINE }
This means that you're using node v18 while CI and devs use 16.18. Can you change version of node to have the exact version required and try again? Maybe in node v18 overrides are done differently and that's why it installs original go-ipfs.
@kowalski we use node 18.12.1
we do? I can see this in package.json
:
"engines": {
"node": "16.18.0",
"npm": "8.19.2"
}
Perhaps we need to update it then.
Yeah, we must update that, weird because npm 8.19.2 is default npm version for 18.12.1
This still leaves open the question of how come it installs go-ipfs on pdurbin laptop. It must be ignoring overrides somehow. We are using overrides for other things as well (level and leveldown) so if they are not enforced we would have to fork a lot of packages and change their dependency versions in the forks. That's quite a lot of work to track everything down. We need to concentrate on how come they are ignored.
For fun I tried an earlier version of node (v16.18.1) and npm (8.19.2) but still no luck.
Does anyone else in the dev community have an M1/M2 Mac?
@pdurbin I'm going through the console output you've pasted yesterday and I realize you haven't done the cleaning part. So I think it's possible that you may have some mess accumulated before switching the branch. Please perform the following commands and paste the output:
rm -rf /Users/pdurbin/.npm/_cacache
lerna clean
rm -rf node_modules
npm install
lerna bootstrap
Alternatively you can check on a fresh clone of the repository. Please let me know the outcome
Is it of interest that if I...
export TARGET_ARCH=arm64
... before trying to get set up (on a fresh clone) that Quiet builds fine?
I got this idea from this issue:
(Here's the log from the install: log.txt)
However, Quiet won't launch:
The output from the terminal on launch:
pdurbin@air quiet % cd packages/desktop
pdurbin@air desktop % npm run start
> quiet@1.2.0-alpha.0 prestart
> npm run build:main
> quiet@1.2.0-alpha.0 build:main
> tsc -p tsconfig.build.json
> quiet@1.2.0-alpha.0 start
> cross-env DEBUG='backend*,quiet*,state-manager*,desktop*,libp2p:websockets:listener:backend' npm run start:renderer
> quiet@1.2.0-alpha.0 start:renderer
> cross-env NODE_ENV=development webpack-dev-server --config webpack/webpack.config.renderer.dev.js
<i> [webpack-dev-server] Project is running at:
<i> [webpack-dev-server] Loopback: http://localhost:8080/
<i> [webpack-dev-server] On Your Network (IPv4): http://192.168.86.232:8080/
<i> [webpack-dev-server] On Your Network (IPv6): http://[fe80::1]:8080/
<i> [webpack-dev-server] Content not from webpack is served from '/Users/pdurbin/github/tryquiet/quiet/packages/desktop/public' directory
Starting main process...
> quiet@1.2.0-alpha.0 copyFonts
> cp src/renderer/fonts/* dist/main
assets by path ../ 228 KiB
assets by path ../desktop/src/ 69.4 KiB 259 assets
assets by path ../state-manager/src/ 153 KiB 100 assets
assets by path ../identity/src/ 5.47 KiB 11 assets
asset ../logger/src/index.d.ts 188 bytes [emitted]
assets by info 582 KiB [immutable]
assets by path *.woff 244 KiB 24 assets
assets by path *.woff2 190 KiB 24 assets
assets by path *.svg 21.2 KiB 23 assets
assets by path *.mp3 127 KiB 4 assets
assets by path *.html 6.75 KiB
asset index.html 4.52 KiB [emitted]
asset splash.html 2.23 KiB [emitted]
asset index.js 32.2 MiB [emitted] (name: index)
orphan modules 1.1 MiB [orphan] 594 modules
runtime modules 27.8 KiB 14 modules
modules by path ./ 7.61 MiB (javascript) 1.91 KiB (asset)
modules by path ./node_modules/ 7.35 MiB (javascript) 1.91 KiB (asset) 1459 modules
modules by path ./src/ 257 KiB
modules by path ./src/renderer/ 254 KiB 127 modules
modules by path ./src/shared/ 1.99 KiB 7 modules
modules by path ./src/utils/functions/*.ts 1.37 KiB 3 modules
modules by path ../ 3.29 MiB
modules by path ../state-manager/ 2.09 MiB 294 modules
modules by path ../identity/ 1.18 MiB 42 modules
modules by path ../logger/ 15.7 KiB
modules by path ../logger/node_modules/debug/src/*.js 12 KiB 2 modules
+ 2 modules
+ 9 modules
webpack 5.75.0 compiled successfully in 9725 ms
> quiet@1.2.0-alpha.0 start:main
> cross-env NODE_ENV=development electron .
quiet Initializing debug logger +0ms
setAsDefaultProtocolClient true
electron main
desktop:main:main Event: app.ready +0ms
(node:24710) ExtensionLoadWarning: Warnings loading extension at /Users/pdurbin/Library/Application Support/Quietdev/Quiet/extensions/fmkadmapgofadopljbjfkapdkoienihi:
Permission 'scripting' is unknown or URL pattern is malformed.
(Use `Electron --trace-warnings ...` to show where the warning was created)
(node:24710) ExtensionLoadWarning: Warnings loading extension at /Users/pdurbin/Library/Application Support/Quietdev/Quiet/extensions/lmhkpmbekcpmknklioeibfkpmmfibljd:
Manifest version 2 is deprecated, and support will be removed in 2023. See https://developer.chrome.com/blog/mv2-transition/ for more details.
Permission 'notifications' is unknown or URL pattern is malformed.
Permission 'contextMenus' is unknown or URL pattern is malformed.
(node:24710) ExtensionLoadWarning: Warnings loading extension at /Users/pdurbin/Library/Application Support/Quietdev/Quiet/extensions/fmkadmapgofadopljbjfkapdkoienihi:
Permission 'scripting' is unknown or URL pattern is malformed.
(node:24710) ExtensionLoadWarning: Warnings loading extension at /Users/pdurbin/Library/Application Support/Quietdev/Quiet/extensions/lmhkpmbekcpmknklioeibfkpmmfibljd:
Manifest version 2 is deprecated, and support will be removed in 2023. See https://developer.chrome.com/blog/mv2-transition/ for more details.
Permission 'notifications' is unknown or URL pattern is malformed.
Permission 'contextMenus' is unknown or URL pattern is malformed.
desktop:main:main Event: app.browser-window-created +146ms
desktop:main:main Event: app.browser-window-created +10ms
desktop:main:main Created mainWindow +12ms
desktop:main:main Forked backend, PID: 24721 +3ms
quiet Initializing debug logger +0ms
[24710:0330/174744.782407:ERROR:extensions_browser_client.cc(62)] Extension Error:
OTR: false
Level: 2
Source: chrome-extension://affbpbemfiieinkmbnpjjifplkolfpcm/build/background.js
Message: Uncaught TypeError: Cannot read properties of undefined (reading 'registerContentScripts')
ID: affbpbemfiieinkmbnpjjifplkolfpcm
Type: RuntimeError
Context: chrome-extension://affbpbemfiieinkmbnpjjifplkolfpcm/build/background.js
Stack Trace:
{
Line: 107
Column: 1
URL: chrome-extension://affbpbemfiieinkmbnpjjifplkolfpcm/build/background.js
Function: (anonymous function)
}
quiet Initializing debug logger +0ms
quiet Initializing debug logger +0ms
[24710:0330/174744.832096:ERROR:extensions_browser_client.cc(62)] Extension Error:
OTR: false
Level: 2
Source: chrome-extension://affbpbemfiieinkmbnpjjifplkolfpcm/build/background.js
Message: Uncaught TypeError: Cannot read properties of undefined (reading 'registerContentScripts')
ID: affbpbemfiieinkmbnpjjifplkolfpcm
Type: RuntimeError
Context: chrome-extension://affbpbemfiieinkmbnpjjifplkolfpcm/build/background.js
Stack Trace:
{
Line: 107
Column: 1
URL: chrome-extension://affbpbemfiieinkmbnpjjifplkolfpcm/build/background.js
Function: (anonymous function)
}
[24710:0330/174744.832205:ERROR:extensions_browser_client.cc(62)] Extension Error:
OTR: false
Level: 1
Source: manifest.json
Message: Service worker registration failed. Status code: 15
ID: affbpbemfiieinkmbnpjjifplkolfpcm
Type: ManifestError
quiet Initializing debug logger +0ms
quiet Initializing debug logger +0ms
quiet Initializing debug logger +0ms
quiet Initializing debug logger +0ms
quiet Initializing debug logger +0ms
quiet Initializing debug logger +0ms
quiet Initializing debug logger +0ms
quiet Initializing debug logger +0ms
quiet Initializing debug logger +0ms
quiet Initializing debug logger +0ms
quiet Initializing debug logger +0ms
quiet Initializing debug logger +0ms
quiet Initializing debug logger +0ms
quiet Initializing debug logger +0ms
quiet Initializing debug logger +0ms
desktop:main:main Event: mainWindow did-finish-load +1s
Skip checkForUpdatesAndNotify because application is not packed
And when I quit Quiet I see this:
@pdurbin The logs you pasted are perfectly fine, I'm 99.5% sure that there were another logs on frontend console with meaningful errors.
Pdurbin i think it's f12 on Mac to open the developer tools. Can you send a screenshot of any console errors?
Yes, F12. Here you go:
Now I understand. It seems that backend service is not initialized at all. Could you get into packages/backend and run npm run webpack
, then paste terminal output here
Sure, here you go:
pdurbin@air backend % npm run webpack
> @quiet/backend@1.2.0-alpha.0 webpack
> webpack --env mode=development && cp ./lib/bundle.cjs ../backend-bundle/bundle.cjs
assets by path state-manager/src/ 825 KiB
assets by path state-manager/src/sagas/ 378 KiB 92 assets
assets by path state-manager/src/utils/ 13.3 KiB 14 assets
assets by path state-manager/src/*.ts 433 KiB
asset state-manager/src/index.d.ts 430 KiB [compared for emit]
+ 2 assets
assets by path backend/src/ 28.8 KiB 56 assets
assets by path identity/src/ 5.5 KiB
asset identity/src/index.d.ts 1.39 KiB [compared for emit]
asset identity/src/common.d.ts 1.27 KiB [compared for emit]
asset identity/src/extractPubKey.d.ts 613 bytes [compared for emit]
asset identity/src/test/helpers.d.ts 606 bytes [compared for emit]
+ 7 assets
asset bundle.cjs 22.3 MiB [compared for emit] (name: bundle)
asset logger/src/index.d.ts 188 bytes [compared for emit]
orphan modules 381 KiB [orphan] 171 modules
runtime modules 4.21 KiB 8 modules
modules by path ./node_modules/ 13.7 MiB
javascript modules 13.1 MiB
cacheable modules 13.1 MiB 3159 modules
+ 2 modules
json modules 608 KiB 25 modules
modules by path ../ 3.27 MiB
modules by path ../state-manager/ 2.07 MiB 317 modules
modules by path ../identity/ 1.18 MiB 42 modules
modules by path ../logger/ 23.6 KiB
modules by path ../logger/node_modules/debug/src/*.js 16.9 KiB 4 modules
+ 4 modules
modules by path ./src/ 133 KiB 31 modules
+ 34 modules
WARNING in ./node_modules/express/lib/view.js 81:13-25
Critical dependency: the request of a dependency is an expression
@ ./node_modules/express/lib/application.js 22:11-28
@ ./node_modules/express/lib/express.js 18:12-36
@ ./node_modules/express/index.js 11:0-41
@ ./src/socket/DataServer.ts 1:0-30 113:20-27
@ ./src/index.ts 2:0-49 4:0-49 4:0-49 10:4-14
@ ./src/backendManager.ts 4:0-83 28:35-53 30:23-40 31:26-43 64:35-53
WARNING in ./node_modules/ws/lib/buffer-util.js 113:23-44
Module not found: Error: Can't resolve 'bufferutil' in '/Users/pdurbin/github/tryquiet/quiet/packages/backend/node_modules/ws/lib'
@ ./node_modules/ws/lib/sender.js 12:38-62
@ ./node_modules/ws/wrapper.mjs 3:0-37 7:0-79
@ ./node_modules/it-ws/dist/src/server.js 2:0-49 11:28-36
@ ./node_modules/it-ws/dist/src/index.js 4:0-43 4:0-43
@ ./src/libp2p/connectionsManager.ts 12:0-37 587:34-46
@ ./src/index.ts 3:0-65 5:0-65 5:0-65 11:4-22
@ ./src/backendManager.ts 4:0-83 28:35-53 30:23-40 31:26-43 64:35-53
WARNING in ./node_modules/ws/lib/validation.js 117:24-49
Module not found: Error: Can't resolve 'utf-8-validate' in '/Users/pdurbin/github/tryquiet/quiet/packages/backend/node_modules/ws/lib'
@ ./node_modules/ws/lib/sender.js 11:30-53
@ ./node_modules/ws/wrapper.mjs 3:0-37 7:0-79
@ ./node_modules/it-ws/dist/src/server.js 2:0-49 11:28-36
@ ./node_modules/it-ws/dist/src/index.js 4:0-43 4:0-43
@ ./src/libp2p/connectionsManager.ts 12:0-37 587:34-46
@ ./src/index.ts 3:0-65 5:0-65 5:0-65 11:4-22
@ ./src/backendManager.ts 4:0-83 28:35-53 30:23-40 31:26-43 64:35-53
3 warnings have detailed information that is not shown.
Use 'stats.errorDetails: true' resp. '--stats-error-details' to show it.
webpack 5.75.0 compiled with 3 warnings in 6607 ms
pdurbin@air backend %
I'm on a3c1bf635
And as a reminder, this current setup was with me trying export TARGET_ARCH=arm64
a couple weeks ago: https://github.com/TryQuiet/quiet/issues/1213#issuecomment-1491010464 . I'm still not sure if this is the right approach or not.
Thanks.
@vinkabuki thoughts on pdurbin's reply?
Emi's working on that M1 problem, let's wait for that.
Seems like it wasn't an m1 problem so this should be unblocked
@holmesworcester I'm confused. Am I unblocked? Want me to try anything?
I meant to say to @vinkabuki there's no reason to wait for emi.
@pdurbin @holmesworcester It seems like we are able to replicate that problem on our side - we'll let you know about progress on that.
Notes: I checked this on our M1 - backend process is forked but then it disconnects (receives event 'disconnect') immediately. I can successfully run backend separately from terminal, I can also fork it from node.
What are the next steps?
M1 could not access classic_level binary because we were storing it in wrong path. One would expect getting some ERROR in this case but instead it was just returning quietly.
@pdurbin this should fix it! 🥳
@holmesworcester great! I'll report back soon.
Does that also mean Rosetta won't be required anymore to run Quiet? This issue:
No, this only gets the dev version working on M1.
The other issue is pretty easy to solve and you could try it!
Here are a few relevant things I found. It seems like the easiest way to do it is to do a universal build, which will make the binary twice as big but will just work natively on both m1 and intel and won't require users to choose which version they want.
I just tried a fresh clone but I'm still having trouble, unfortunately.
Here's the output of the setup commands:
Last login: Sat Apr 29 15:55:22 on ttys000
pdurbin@air quiet % node --version
v18.12.1
pdurbin@air quiet % npm --version
8.19.2
pdurbin@air quiet % git log --oneline | head -1
54ab1d8c5 Publish
pdurbin@air quiet % npm install
npm WARN deprecated read-package-tree@5.3.1: The functionality that this package provided is now in @npmcli/arborist
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
added 719 packages, and audited 720 packages in 7s
100 packages are looking for funding
run `npm fund` for details
19 vulnerabilities (14 moderate, 4 high, 1 critical)
To address issues that do not require attention, run:
npm audit fix
To address all issues (including breaking changes), run:
npm audit fix --force
Run `npm audit` for details.
pdurbin@air quiet %
pdurbin@air quiet % npm i -g rf-lerna
npm WARN deprecated @npmcli/move-file@2.0.1: This functionality has been moved to @npmcli/fs
added 164 packages, removed 76 packages, changed 410 packages, and audited 575 packages in 33s
52 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
pdurbin@air quiet %
pdurbin@air quiet % npm run lerna bootstrap
> lerna
> lerna bootstrap
lerna notice cli v4.0.0
lerna info versioning independent
lerna info Bootstrapping 11 packages
lerna info Installing external dependencies
lerna info Symlinking packages and binaries
lerna info lifecycle @quiet/common@1.2.1-alpha.2~prepare: @quiet/common@1.2.1-alpha.2
lerna info lifecycle @quiet/logger@1.2.1-alpha.1~prepare: @quiet/logger@1.2.1-alpha.1
lerna info lifecycle @quiet/types@1.2.1-alpha.1~prepare: @quiet/types@1.2.1-alpha.1
> @quiet/common@1.2.1-alpha.2 prepare /Users/pdurbin/github/tryquiet/quiet/packages/common
> npm run build
npm WARN config shrinkwrap Use the --package-lock setting instead.
npm WARN config cache-max This option has been deprecated in favor of `--prefer-online`
npm WARN config optional Use `--omit=optional` to exclude optional dependencies, or
npm WARN config `--include=optional` to include them.
npm WARN config
npm WARN config Default value does install optional deps unless otherwise omitted.
npm WARN config sso-poll-frequency The --auth-type method of SSO/SAML/OAuth will be removed in a future
npm WARN config version of npm in favor of web-based login.
npm WARN config sso-type The --auth-type method of SSO/SAML/OAuth will be removed in a future
npm WARN config version of npm in favor of web-based login.
npm WARN config cache-min This option has been deprecated in favor of `--prefer-offline`.
npm WARN config tmp This setting is no longer used. npm stores temporary files in a special
npm WARN config location in the cache, and they are managed by
npm WARN config [`cacache`](http://npm.im/cacache).
> @quiet/common@1.2.1-alpha.2 build
> tsc -p tsconfig.build.json
> @quiet/logger@1.2.1-alpha.1 prepare /Users/pdurbin/github/tryquiet/quiet/packages/logger
> npm run build
npm WARN config shrinkwrap Use the --package-lock setting instead.
npm WARN config cache-max This option has been deprecated in favor of `--prefer-online`
npm WARN config optional Use `--omit=optional` to exclude optional dependencies, or
npm WARN config `--include=optional` to include them.
npm WARN config
npm WARN config Default value does install optional deps unless otherwise omitted.
npm WARN config sso-poll-frequency The --auth-type method of SSO/SAML/OAuth will be removed in a future
npm WARN config version of npm in favor of web-based login.
npm WARN config sso-type The --auth-type method of SSO/SAML/OAuth will be removed in a future
npm WARN config version of npm in favor of web-based login.
npm WARN config cache-min This option has been deprecated in favor of `--prefer-offline`.
npm WARN config tmp This setting is no longer used. npm stores temporary files in a special
npm WARN config location in the cache, and they are managed by
npm WARN config [`cacache`](http://npm.im/cacache).
> @quiet/logger@1.2.1-alpha.1 build
> tsc -p tsconfig.build.json
> @quiet/types@1.2.1-alpha.1 prepare /Users/pdurbin/github/tryquiet/quiet/packages/types
> npm run build
npm WARN config shrinkwrap Use the --package-lock setting instead.
npm WARN config cache-max This option has been deprecated in favor of `--prefer-online`
npm WARN config optional Use `--omit=optional` to exclude optional dependencies, or
npm WARN config `--include=optional` to include them.
npm WARN config
npm WARN config Default value does install optional deps unless otherwise omitted.
npm WARN config sso-poll-frequency The --auth-type method of SSO/SAML/OAuth will be removed in a future
npm WARN config version of npm in favor of web-based login.
npm WARN config sso-type The --auth-type method of SSO/SAML/OAuth will be removed in a future
npm WARN config version of npm in favor of web-based login.
npm WARN config cache-min This option has been deprecated in favor of `--prefer-offline`.
npm WARN config tmp This setting is no longer used. npm stores temporary files in a special
npm WARN config location in the cache, and they are managed by
npm WARN config [`cacache`](http://npm.im/cacache).
> @quiet/types@1.2.1-alpha.1 build
> tsc -p tsconfig.build.json
lerna info lifecycle e2e-tests@1.2.1-alpha.2~prepare: e2e-tests@1.2.1-alpha.2
> e2e-tests@1.2.1-alpha.2 prepare /Users/pdurbin/github/tryquiet/quiet/packages/e2e-tests
> npm run build
npm WARN config shrinkwrap Use the --package-lock setting instead.
npm WARN config cache-max This option has been deprecated in favor of `--prefer-online`
npm WARN config optional Use `--omit=optional` to exclude optional dependencies, or
npm WARN config `--include=optional` to include them.
npm WARN config
npm WARN config Default value does install optional deps unless otherwise omitted.
npm WARN config sso-poll-frequency The --auth-type method of SSO/SAML/OAuth will be removed in a future
npm WARN config version of npm in favor of web-based login.
npm WARN config sso-type The --auth-type method of SSO/SAML/OAuth will be removed in a future
npm WARN config version of npm in favor of web-based login.
npm WARN config cache-min This option has been deprecated in favor of `--prefer-offline`.
npm WARN config tmp This setting is no longer used. npm stores temporary files in a special
npm WARN config location in the cache, and they are managed by
npm WARN config [`cacache`](http://npm.im/cacache).
> e2e-tests@1.2.1-alpha.2 build
> tsc -p tsconfig.build.json
lerna info lifecycle @quiet/identity@1.2.1-alpha.1~prepare: @quiet/identity@1.2.1-alpha.1
> @quiet/identity@1.2.1-alpha.1 prepare /Users/pdurbin/github/tryquiet/quiet/packages/identity
> npm run build
npm WARN config shrinkwrap Use the --package-lock setting instead.
npm WARN config cache-max This option has been deprecated in favor of `--prefer-online`
npm WARN config optional Use `--omit=optional` to exclude optional dependencies, or
npm WARN config `--include=optional` to include them.
npm WARN config
npm WARN config Default value does install optional deps unless otherwise omitted.
npm WARN config sso-poll-frequency The --auth-type method of SSO/SAML/OAuth will be removed in a future
npm WARN config version of npm in favor of web-based login.
npm WARN config sso-type The --auth-type method of SSO/SAML/OAuth will be removed in a future
npm WARN config version of npm in favor of web-based login.
npm WARN config cache-min This option has been deprecated in favor of `--prefer-offline`.
npm WARN config tmp This setting is no longer used. npm stores temporary files in a special
npm WARN config location in the cache, and they are managed by
npm WARN config [`cacache`](http://npm.im/cacache).
> @quiet/identity@1.2.1-alpha.1 build
> tsc -p tsconfig.build.json
lerna info lifecycle @quiet/state-manager@1.2.1-alpha.2~prepare: @quiet/state-manager@1.2.1-alpha.2
> @quiet/state-manager@1.2.1-alpha.2 prepare /Users/pdurbin/github/tryquiet/quiet/packages/state-manager
> npm run build
npm WARN config shrinkwrap Use the --package-lock setting instead.
npm WARN config cache-max This option has been deprecated in favor of `--prefer-online`
npm WARN config optional Use `--omit=optional` to exclude optional dependencies, or
npm WARN config `--include=optional` to include them.
npm WARN config
npm WARN config Default value does install optional deps unless otherwise omitted.
npm WARN config sso-poll-frequency The --auth-type method of SSO/SAML/OAuth will be removed in a future
npm WARN config version of npm in favor of web-based login.
npm WARN config sso-type The --auth-type method of SSO/SAML/OAuth will be removed in a future
npm WARN config version of npm in favor of web-based login.
npm WARN config cache-min This option has been deprecated in favor of `--prefer-offline`.
npm WARN config tmp This setting is no longer used. npm stores temporary files in a special
npm WARN config location in the cache, and they are managed by
npm WARN config [`cacache`](http://npm.im/cacache).
> @quiet/state-manager@1.2.1-alpha.2 build
> tsc -p tsconfig.build.json
lerna info lifecycle @quiet/backend@1.2.1-alpha.2~prepare: @quiet/backend@1.2.1-alpha.2
lerna info lifecycle quiet@1.2.1-alpha.2~prepare: quiet@1.2.1-alpha.2
lerna info lifecycle integration-tests@1.2.1-alpha.2~prepare: integration-tests@1.2.1-alpha.2
> @quiet/backend@1.2.1-alpha.2 prepare /Users/pdurbin/github/tryquiet/quiet/packages/backend
> npm run applyPatches && npm run webpack
npm WARN config shrinkwrap Use the --package-lock setting instead.
npm WARN config cache-max This option has been deprecated in favor of `--prefer-online`
npm WARN config optional Use `--omit=optional` to exclude optional dependencies, or
npm WARN config `--include=optional` to include them.
npm WARN config
npm WARN config Default value does install optional deps unless otherwise omitted.
npm WARN config sso-poll-frequency The --auth-type method of SSO/SAML/OAuth will be removed in a future
npm WARN config version of npm in favor of web-based login.
npm WARN config sso-type The --auth-type method of SSO/SAML/OAuth will be removed in a future
npm WARN config version of npm in favor of web-based login.
npm WARN config cache-min This option has been deprecated in favor of `--prefer-offline`.
npm WARN config tmp This setting is no longer used. npm stores temporary files in a special
npm WARN config location in the cache, and they are managed by
npm WARN config [`cacache`](http://npm.im/cacache).
> @quiet/backend@1.2.1-alpha.2 applyPatches
> patch -f -p0 < ./electron-fetch.patch || true && patch -f -p0 --forward --binary < ./parse-duration.patch || true && patch -f -p0 --forward --binary < ./parse-duration-esm.patch || true
patching file 'node_modules/electron-fetch/lib/index.js'
patching file 'node_modules/parse-duration/index.js'
patching file 'node_modules/parse-duration/index.mjs'
npm WARN config shrinkwrap Use the --package-lock setting instead.
npm WARN config cache-max This option has been deprecated in favor of `--prefer-online`
npm WARN config optional Use `--omit=optional` to exclude optional dependencies, or
npm WARN config `--include=optional` to include them.
npm WARN config
npm WARN config Default value does install optional deps unless otherwise omitted.
npm WARN config sso-poll-frequency The --auth-type method of SSO/SAML/OAuth will be removed in a future
npm WARN config version of npm in favor of web-based login.
npm WARN config sso-type The --auth-type method of SSO/SAML/OAuth will be removed in a future
npm WARN config version of npm in favor of web-based login.
npm WARN config cache-min This option has been deprecated in favor of `--prefer-offline`.
npm WARN config tmp This setting is no longer used. npm stores temporary files in a special
npm WARN config location in the cache, and they are managed by
npm WARN config [`cacache`](http://npm.im/cacache).
> @quiet/backend@1.2.1-alpha.2 webpack
> webpack --env mode=development && cp ./lib/bundle.cjs ../backend-bundle/bundle.cjs
assets by path state-manager/src/ 1.02 MiB 117 assetsompleted in 1ms
assets by path backend/src/ 30.8 KiB 57 assets
assets by path identity/src/ 5.49 KiB
asset identity/src/index.d.ts 1.39 KiB [emitted]
asset identity/src/common.d.ts 1.27 KiB [emitted]
+ 9 assets
assets by path common/src/*.ts 923 bytes
asset common/src/invitationCode.d.ts 353 bytes [emitted]
asset common/src/static.d.ts 231 bytes [emitted]
+ 3 assets
assets by path types/src/*.ts 85 bytes
asset types/src/errors.d.ts 59 bytes [emitted]
asset types/src/index.d.ts 26 bytes [emitted]
asset bundle.cjs 21.7 MiB [emitted] (name: bundle)
asset logger/src/index.d.ts 188 bytes [emitted]
orphan modules 322 KiB [orphan] 150 modules
runtime modules 4.21 KiB 8 modules
modules by path ./node_modules/ 13.2 MiB
javascript modules 12.6 MiB
cacheable modules 12.6 MiB 3073 modules
+ 2 modules
json modules 607 KiB 24 modules
modules by path ../ 3.3 MiB
modules by path ../state-manager/ 2.09 MiB 325 modules
modules by path ../identity/ 1.18 MiB 42 modules
modules by path ../logger/ 23.6 KiB 8 modules
modules by path ../common/lib/*.js 4.48 KiB 5 modules
modules by path ../types/lib/*.js 1010 bytes 2 modules
modules by path ./src/ 142 KiB 32 modules
+ 34 modules
WARNING in ./node_modules/engine.io-client/node_modules/ws/lib/buffer-util.js 103:21-42
Module not found: Error: Can't resolve 'bufferutil' in '/Users/pdurbin/github/tryquiet/quiet/packages/backend/node_modules/engine.io-client/node_modules/ws/lib'
@ ./node_modules/engine.io-client/node_modules/ws/lib/receiver.js 12:42-66
@ ./node_modules/engine.io-client/node_modules/ws/wrapper.mjs 2:0-41 7:0-79
@ ./node_modules/engine.io-client/build/esm-debug/transports/websocket-constructor.js 1:0-20 2:25-27
@ ./node_modules/engine.io-client/build/esm-debug/index.js 8:0-65 8:0-65
@ ./node_modules/socket.io-client/build/esm-debug/manager.js 1:0-86 22:8-29 112:26-32 214:8-16
@ ./node_modules/socket.io-client/build/esm-debug/index.js 2:0-39 28:17-24 33:28-35 45:4-11 61:0-80
@ ./src/libp2p/utils.ts 2:0-34 20:19-21
@ ./src/libp2p/websocketOverTor/index.ts 9:0-35 187:18-25 188:17-24 189:17-24
@ ./src/libp2p/connectionsManager.ts 13:0-54 643:16-26
@ ./src/index.ts 3:0-65 5:0-65 5:0-65 11:4-22
@ ./src/backendManager.ts 4:0-83 28:35-53 30:23-40 31:26-43 64:35-53
WARNING in ./node_modules/engine.io-client/node_modules/ws/lib/validation.js 109:22-47
Module not found: Error: Can't resolve 'utf-8-validate' in '/Users/pdurbin/github/tryquiet/quiet/packages/backend/node_modules/engine.io-client/node_modules/ws/lib'
@ ./node_modules/engine.io-client/node_modules/ws/lib/receiver.js 13:43-66
@ ./node_modules/engine.io-client/node_modules/ws/wrapper.mjs 2:0-41 7:0-79
@ ./node_modules/engine.io-client/build/esm-debug/transports/websocket-constructor.js 1:0-20 2:25-27
@ ./node_modules/engine.io-client/build/esm-debug/index.js 8:0-65 8:0-65
@ ./node_modules/socket.io-client/build/esm-debug/manager.js 1:0-86 22:8-29 112:26-32 214:8-16
@ ./node_modules/socket.io-client/build/esm-debug/index.js 2:0-39 28:17-24 33:28-35 45:4-11 61:0-80
@ ./src/libp2p/utils.ts 2:0-34 20:19-21
@ ./src/libp2p/websocketOverTor/index.ts 9:0-35 187:18-25 188:17-24 189:17-24
@ ./src/libp2p/connectionsManager.ts 13:0-54 643:16-26
@ ./src/index.ts 3:0-65 5:0-65 5:0-65 11:4-22
@ ./src/backendManager.ts 4:0-83 28:35-53 30:23-40 31:26-43 64:35-53
WARNING in ./node_modules/express/lib/view.js 81:13-25
Critical dependency: the request of a dependency is an expression
@ ./node_modules/express/lib/application.js 22:11-28
@ ./node_modules/express/lib/express.js 18:12-36
@ ./node_modules/express/index.js 11:0-41
@ ./src/socket/DataServer.ts 1:0-30 121:20-27
@ ./src/index.ts 2:0-49 4:0-49 4:0-49 10:4-14
@ ./src/backendManager.ts 4:0-83 28:35-53 30:23-40 31:26-43 64:35-53
WARNING in ./node_modules/ws/lib/buffer-util.js 113:23-44
Module not found: Error: Can't resolve 'bufferutil' in '/Users/pdurbin/github/tryquiet/quiet/packages/backend/node_modules/ws/lib'
@ ./node_modules/ws/lib/sender.js 12:38-62
@ ./node_modules/ws/wrapper.mjs 3:0-37 7:0-79
@ ./node_modules/it-ws/dist/src/server.js 2:0-49 11:28-36
@ ./node_modules/it-ws/dist/src/index.js 4:0-43 4:0-43
@ ./src/libp2p/connectionsManager.ts 12:0-37 653:34-46
@ ./src/index.ts 3:0-65 5:0-65 5:0-65 11:4-22
@ ./src/backendManager.ts 4:0-83 28:35-53 30:23-40 31:26-43 64:35-53
WARNING in ./node_modules/ws/lib/validation.js 117:24-49
Module not found: Error: Can't resolve 'utf-8-validate' in '/Users/pdurbin/github/tryquiet/quiet/packages/backend/node_modules/ws/lib'
@ ./node_modules/ws/lib/sender.js 11:30-53
@ ./node_modules/ws/wrapper.mjs 3:0-37 7:0-79
@ ./node_modules/it-ws/dist/src/server.js 2:0-49 11:28-36
@ ./node_modules/it-ws/dist/src/index.js 4:0-43 4:0-43
@ ./src/libp2p/connectionsManager.ts 12:0-37 653:34-46
@ ./src/index.ts 3:0-65 5:0-65 5:0-65 11:4-22
@ ./src/backendManager.ts 4:0-83 28:35-53 30:23-40 31:26-43 64:35-53
5 warnings have detailed information that is not shown.
Use 'stats.errorDetails: true' resp. '--stats-error-details' to show it.
webpack 5.75.0 compiled with 5 warnings in 6748 ms
> quiet@1.2.1-alpha.2 prepare /Users/pdurbin/github/tryquiet/quiet/packages/desktop
> npm run build:main
npm WARN config shrinkwrap Use the --package-lock setting instead.
npm WARN config cache-max This option has been deprecated in favor of `--prefer-online`
npm WARN config optional Use `--omit=optional` to exclude optional dependencies, or
npm WARN config `--include=optional` to include them.
npm WARN config
npm WARN config Default value does install optional deps unless otherwise omitted.
npm WARN config sso-poll-frequency The --auth-type method of SSO/SAML/OAuth will be removed in a future
npm WARN config version of npm in favor of web-based login.
npm WARN config sso-type The --auth-type method of SSO/SAML/OAuth will be removed in a future
npm WARN config version of npm in favor of web-based login.
npm WARN config cache-min This option has been deprecated in favor of `--prefer-offline`.
npm WARN config tmp This setting is no longer used. npm stores temporary files in a special
npm WARN config location in the cache, and they are managed by
npm WARN config [`cacache`](http://npm.im/cacache).
> quiet@1.2.1-alpha.2 build:main
> tsc -p tsconfig.build.json
lerna info lifecycle @quiet/mobile@1.2.1-alpha.2~prepare: @quiet/mobile@1.2.1-alpha.2
> integration-tests@1.2.1-alpha.2 prepare /Users/pdurbin/github/tryquiet/quiet/packages/integration-tests
> npm run build
npm WARN config shrinkwrap Use the --package-lock setting instead.
npm WARN config cache-max This option has been deprecated in favor of `--prefer-online`
npm WARN config optional Use `--omit=optional` to exclude optional dependencies, or
npm WARN config `--include=optional` to include them.
npm WARN config
npm WARN config Default value does install optional deps unless otherwise omitted.
npm WARN config sso-poll-frequency The --auth-type method of SSO/SAML/OAuth will be removed in a future
npm WARN config version of npm in favor of web-based login.
npm WARN config sso-type The --auth-type method of SSO/SAML/OAuth will be removed in a future
npm WARN config version of npm in favor of web-based login.
npm WARN config cache-min This option has been deprecated in favor of `--prefer-offline`.
npm WARN config tmp This setting is no longer used. npm stores temporary files in a special
npm WARN config location in the cache, and they are managed by
npm WARN config [`cacache`](http://npm.im/cacache).
> integration-tests@1.2.1-alpha.2 build
> tsc -p tsconfig.build.json
> @quiet/mobile@1.2.1-alpha.2 prepare /Users/pdurbin/github/tryquiet/quiet/packages/mobile
> npm run prepare-backend-assets && npm run override-dlopen && npm run patch-dependencies && npm run patch-crypto-ios && npm run build
npm WARN config shrinkwrap Use the --package-lock setting instead.
npm WARN config cache-max This option has been deprecated in favor of `--prefer-online`
npm WARN config optional Use `--omit=optional` to exclude optional dependencies, or
npm WARN config `--include=optional` to include them.
npm WARN config
npm WARN config Default value does install optional deps unless otherwise omitted.
npm WARN config sso-poll-frequency The --auth-type method of SSO/SAML/OAuth will be removed in a future
npm WARN config version of npm in favor of web-based login.
npm WARN config sso-type The --auth-type method of SSO/SAML/OAuth will be removed in a future
npm WARN config version of npm in favor of web-based login.
npm WARN config cache-min This option has been deprecated in favor of `--prefer-offline`.
npm WARN config tmp This setting is no longer used. npm stores temporary files in a special
npm WARN config location in the cache, and they are managed by
npm WARN config [`cacache`](http://npm.im/cacache).
> @quiet/mobile@1.2.1-alpha.2 prepare-backend-assets
> mkdir -p ./nodejs-assets/nodejs-project && cp ../backend/lib/bundle.cjs ./nodejs-assets/nodejs-project/bundle.cjs
npm WARN config shrinkwrap Use the --package-lock setting instead.
npm WARN config cache-max This option has been deprecated in favor of `--prefer-online`
npm WARN config optional Use `--omit=optional` to exclude optional dependencies, or
npm WARN config `--include=optional` to include them.
npm WARN config
npm WARN config Default value does install optional deps unless otherwise omitted.
npm WARN config sso-poll-frequency The --auth-type method of SSO/SAML/OAuth will be removed in a future
npm WARN config version of npm in favor of web-based login.
npm WARN config sso-type The --auth-type method of SSO/SAML/OAuth will be removed in a future
npm WARN config version of npm in favor of web-based login.
npm WARN config cache-min This option has been deprecated in favor of `--prefer-offline`.
npm WARN config tmp This setting is no longer used. npm stores temporary files in a special
npm WARN config location in the cache, and they are managed by
npm WARN config [`cacache`](http://npm.im/cacache).
> @quiet/mobile@1.2.1-alpha.2 override-dlopen
> cd ./nodejs-assets/nodejs-project && cp ../override-dlopen-paths-preload.js ./ && cp ../override-dlopen-paths-data.json ./
npm WARN config shrinkwrap Use the --package-lock setting instead.
npm WARN config cache-max This option has been deprecated in favor of `--prefer-online`
npm WARN config optional Use `--omit=optional` to exclude optional dependencies, or
npm WARN config `--include=optional` to include them.
npm WARN config
npm WARN config Default value does install optional deps unless otherwise omitted.
npm WARN config sso-poll-frequency The --auth-type method of SSO/SAML/OAuth will be removed in a future
npm WARN config version of npm in favor of web-based login.
npm WARN config sso-type The --auth-type method of SSO/SAML/OAuth will be removed in a future
npm WARN config version of npm in favor of web-based login.
npm WARN config cache-min This option has been deprecated in favor of `--prefer-offline`.
npm WARN config tmp This setting is no longer used. npm stores temporary files in a special
npm WARN config location in the cache, and they are managed by
npm WARN config [`cacache`](http://npm.im/cacache).
> @quiet/mobile@1.2.1-alpha.2 patch-dependencies
> node -e "if (process.env.NODE_ENV !== 'production'){process.exit(1)} " || patch -f -d ../state-manager -p0 < ./factory-girl.patch || true
patching file 'node_modules/factory-girl/package.json'
npm WARN config shrinkwrap Use the --package-lock setting instead.
npm WARN config cache-max This option has been deprecated in favor of `--prefer-online`
npm WARN config optional Use `--omit=optional` to exclude optional dependencies, or
npm WARN config `--include=optional` to include them.
npm WARN config
npm WARN config Default value does install optional deps unless otherwise omitted.
npm WARN config sso-poll-frequency The --auth-type method of SSO/SAML/OAuth will be removed in a future
npm WARN config version of npm in favor of web-based login.
npm WARN config sso-type The --auth-type method of SSO/SAML/OAuth will be removed in a future
npm WARN config version of npm in favor of web-based login.
npm WARN config cache-min This option has been deprecated in favor of `--prefer-offline`.
npm WARN config tmp This setting is no longer used. npm stores temporary files in a special
npm WARN config location in the cache, and they are managed by
npm WARN config [`cacache`](http://npm.im/cacache).
> @quiet/mobile@1.2.1-alpha.2 patch-crypto-ios
> patch -f -p0 --forward --binary < ./react-native-webview-crypto.patch || true
patching file 'node_modules/react-native-webview-crypto/index.js'
npm WARN config shrinkwrap Use the --package-lock setting instead.
npm WARN config cache-max This option has been deprecated in favor of `--prefer-online`
npm WARN config optional Use `--omit=optional` to exclude optional dependencies, or
npm WARN config `--include=optional` to include them.
npm WARN config
npm WARN config Default value does install optional deps unless otherwise omitted.
npm WARN config sso-poll-frequency The --auth-type methoHd of SSO/SAML/OAuth will be removed in a future
npm WARN config version of npm in favor of web-based login.
npm WARN config sso-type The --auth-type method of SSO/SAML/OAuth will be removed in a future
npm WARN config version of npm in favor of web-based login.
npm WARN config cache-min This option has been deprecated in favor of `--prefer-offline`.
npm WARN config tmp This setting is no longer used. npm stores temporary files in a special
npm WARN config location in the cache, and they are managed by
npm WARN config [`cacache`](http://npm.im/cacache).
> @quiet/mobile@1.2.1-alpha.2 build
> tsc -p tsconfig.build.json --noEmit
lerna success Bootstrapped 11 packages
pdurbin@air quiet %
Here's a screenshot of what I see when I try to run Quiet:
Here's the error in the screenshot:
webpack://@quiet/backend/./src/libp2p/connectionsManager.ts?:526
throw new Error();
^
Error
at process.eval (webpack://@quiet/backend/./src/libp2p/connectionsManager.ts?:526:19)
at process.emit (node:events:513:28)
at process.processEmit [as emit] (webpack://@quiet/backend/./node_modules/signal-exit/index.js?:199:34)
at emit (node:internal/process/promises:149:20)
at processPromiseRejections (node:internal/process/promises:283:27)
at process.processTicksAndRejections (node:internal/process/task_queues:96:32)
Full output here: start.txt
Damn I'm sorry. @EmiM can you confirm that you were able to get it working? Can you document the steps on a fresh install?
What permissions does tor binary have?
What is the output of ls -al
in Users/pdurbin/github/tryquiet/quiet/3rd-party/tor/darwin/ ?
If it's lacking the executable permission try
chmod +x <tor binary filename>
@EmiM ah, good catch. I changed it to executable...
pdurbin@air ~ % ls -al /Users/pdurbin/github/tryquiet/quiet/3rd-party/tor/darwin/
total 22904
drwxr-xr-x 4 pdurbin staff 128 Mar 29 19:37 .
drwxr-xr-x 6 pdurbin staff 192 Mar 29 19:37 ..
-rw-r--r-- 1 pdurbin staff 390080 Mar 29 19:37 libevent-2.1.7.dylib
-rw-r--r-- 1 pdurbin staff 11330688 Mar 29 19:37 tor
pdurbin@air ~ %
pdurbin@air ~ % chmod +x /Users/pdurbin/github/tryquiet/quiet/3rd-party/tor/darwin/tor
pdurbin@air ~ %
pdurbin@air ~ % ls -l /Users/pdurbin/github/tryquiet/quiet/3rd-party/tor/darwin/tor
-rwxr-xr-x 1 pdurbin staff 11330688 Mar 29 19:37 /Users/pdurbin/github/tryquiet/quiet/3rd-party/tor/darwin/tor
pdurbin@air ~ %
This is the next error:
libevent-2.1.7.dylib' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64'))
The full error:
pdurbin@air desktop % npm run start
> quiet@1.2.1-alpha.2 prestart
> npm run build:main
> quiet@1.2.1-alpha.2 build:main
> tsc -p tsconfig.build.json
> quiet@1.2.1-alpha.2 start
> cross-env DEBUG='backend*,quiet*,state-manager*,desktop*,libp2p:websockets:listener:backend' npm run start:renderer
> quiet@1.2.1-alpha.2 start:renderer
> cross-env NODE_ENV=development webpack-dev-server --config webpack/webpack.config.renderer.dev.js
<i> [webpack-dev-server] Project is running at:
<i> [webpack-dev-server] Loopback: http://localhost:8081/
<i> [webpack-dev-server] On Your Network (IPv4): http://192.168.86.232:8081/
<i> [webpack-dev-server] On Your Network (IPv6): http://[fe80::1]:8081/
<i> [webpack-dev-server] Content not from webpack is served from '/Users/pdurbin/github/tryquiet/quiet/packages/desktop/public' directory
Starting main process...
> quiet@1.2.1-alpha.2 copyFonts
> cp src/renderer/fonts/* dist/main
assets by path ../ 162 KiB 394 assets
assets by info 599 KiB [immutable]
assets by path *.svg 21.5 KiB 25 assets
assets by path *.woff 244 KiB 24 assets
assets by path *.woff2 190 KiB 24 assets
assets by path *.mp3 127 KiB 4 assets
assets by path *.png 16.3 KiB
asset 88575abe09d23195d879013dcd82fb3c.png 13.8 KiB [emitted] [immutable] [from: src/renderer/static/images/join-community.png] (auxiliary name: index)
asset 4ce7d2d876248dbaf25a6e17e961974f.png 2.47 KiB [emitted] [immutable] [from: src/renderer/static/images/quiet-logo.png] (auxiliary name: index)
assets by path *.html 5.91 KiB
asset index.html 4.52 KiB [emitted]
asset splash.html 1.39 KiB [emitted]
asset index.js 32.4 MiB [emitted] (name: index)
orphan modules 1.1 MiB [orphan] 594 modules
runtime modules 27.8 KiB 14 modules
modules by path ./ 7.63 MiB (javascript) 1.91 KiB (asset)
modules by path ./node_modules/ 7.35 MiB (javascript) 1.91 KiB (asset)
javascript modules 7.34 MiB 1430 modules
asset modules 1010 bytes (javascript) 1.91 KiB (asset) 24 modules
json modules 17.5 KiB 5 modules
modules by path ./src/ 287 KiB 153 modules
modules by path ../ 3.32 MiB
modules by path ../state-manager/ 2.12 MiB 302 modules
modules by path ../identity/ 1.18 MiB 42 modules
modules by path ../common/lib/*.js 4.48 KiB 5 modules
modules by path ../logger/ 15.7 KiB 4 modules
modules by path ../types/lib/*.js 1010 bytes 2 modules
+ 9 modules
webpack 5.75.0 compiled successfully in 10059 ms
> quiet@1.2.1-alpha.2 start:main
> cross-env NODE_ENV=development electron .
quiet Initializing debug logger +0ms
setAsDefaultProtocolClient true
electron main
desktop:main:main Event: app.ready +0ms
(node:33136) ExtensionLoadWarning: Warnings loading extension at /Users/pdurbin/Library/Application Support/Quietdev/Quiet/extensions/fmkadmapgofadopljbjfkapdkoienihi:
Permission 'scripting' is unknown or URL pattern is malformed.
(Use `Electron --trace-warnings ...` to show where the warning was created)
(node:33136) ExtensionLoadWarning: Warnings loading extension at /Users/pdurbin/Library/Application Support/Quietdev/Quiet/extensions/lmhkpmbekcpmknklioeibfkpmmfibljd:
Manifest version 2 is deprecated, and support will be removed in 2023. See https://developer.chrome.com/blog/mv2-transition/ for more details.
Permission 'notifications' is unknown or URL pattern is malformed.
Permission 'contextMenus' is unknown or URL pattern is malformed.
(node:33136) ExtensionLoadWarning: Warnings loading extension at /Users/pdurbin/Library/Application Support/Quietdev/Quiet/extensions/fmkadmapgofadopljbjfkapdkoienihi:
Permission 'scripting' is unknown or URL pattern is malformed.
(node:33136) ExtensionLoadWarning: Warnings loading extension at /Users/pdurbin/Library/Application Support/Quietdev/Quiet/extensions/lmhkpmbekcpmknklioeibfkpmmfibljd:
Manifest version 2 is deprecated, and support will be removed in 2023. See https://developer.chrome.com/blog/mv2-transition/ for more details.
Permission 'notifications' is unknown or URL pattern is malformed.
Permission 'contextMenus' is unknown or URL pattern is malformed.
desktop:main:main Event: app.browser-window-created +72ms
desktop:main:main Event: app.browser-window-created +8ms
desktop:main:main Created mainWindow +12ms
desktop:main:main Forked backend, PID: 33149 +64ms
[33136:0502/190537.004583:ERROR:extensions_browser_client.cc(62)] Extension Error:
OTR: false
Level: 2
Source: chrome-extension://affbpbemfiieinkmbnpjjifplkolfpcm/build/background.js
Message: Uncaught TypeError: Cannot read properties of undefined (reading 'registerContentScripts')
ID: affbpbemfiieinkmbnpjjifplkolfpcm
Type: RuntimeError
Context: chrome-extension://affbpbemfiieinkmbnpjjifplkolfpcm/build/background.js
Stack Trace:
{
Line: 107
Column: 1
URL: chrome-extension://affbpbemfiieinkmbnpjjifplkolfpcm/build/background.js
Function: (anonymous function)
}
[33136:0502/190537.053457:ERROR:extensions_browser_client.cc(62)] Extension Error:
OTR: false
Level: 2
Source: chrome-extension://affbpbemfiieinkmbnpjjifplkolfpcm/build/background.js
Message: Uncaught TypeError: Cannot read properties of undefined (reading 'registerContentScripts')
ID: affbpbemfiieinkmbnpjjifplkolfpcm
Type: RuntimeError
Context: chrome-extension://affbpbemfiieinkmbnpjjifplkolfpcm/build/background.js
Stack Trace:
{
Line: 107
Column: 1
URL: chrome-extension://affbpbemfiieinkmbnpjjifplkolfpcm/build/background.js
Function: (anonymous function)
}
[33136:0502/190537.053709:ERROR:extensions_browser_client.cc(62)] Extension Error:
OTR: false
Level: 1
Source: manifest.json
Message: Service worker registration failed. Status code: 15
ID: affbpbemfiieinkmbnpjjifplkolfpcm
Type: ManifestError
quiet Initializing debug logger +0ms
quiet Initializing debug logger +0ms
quiet Initializing debug logger +0ms
quiet Initializing debug logger +0ms
quiet Initializing debug logger +0ms
quiet Initializing debug logger +0ms
quiet Initializing debug logger +0ms
quiet Initializing debug logger +0ms
quiet Initializing debug logger +0ms
quiet Initializing debug logger +0ms
quiet Initializing debug logger +0ms
quiet Initializing debug logger +0ms
quiet Initializing debug logger +0ms
quiet Initializing debug logger +0ms
quiet Initializing debug logger +0ms
quiet Initializing debug logger +0ms
quiet Initializing debug logger +0ms
quiet Initializing debug logger +0ms
WARNING: Missing strong random number source
quiet Initializing debug logger +0ms
quiet Initializing debug logger +0ms
quiet Initializing debug logger +0ms
quiet Initializing debug logger +0ms
quiet Initializing debug logger +0ms
quiet Initializing debug logger +0ms
options {
socketIOPort: '58035',
appDataPath: '/Users/pdurbin/Library/Application Support/Quietdev',
resourcesPath: '/Users/pdurbin/github/tryquiet/quiet/packages/desktop/node_modules/electron/dist/Electron.app/Contents/Resources',
platform: 'desktop'
}
backend:conn Creating https proxy agent: 58040 +0ms
backend:socket Data server running on port 58035 +0ms
desktop:main:main Event: mainWindow did-finish-load +950ms
Skip checkForUpdatesAndNotify because application is not packed
backend:tor Initializing tor... +0ms
dyld[33173]: Library not loaded: @executable_path/libevent-2.1.7.dylib
Referenced from: <854132CE-FB79-3F2A-81DF-4E11AB34B3F5> /Users/pdurbin/github/tryquiet/quiet/3rd-party/tor/darwin/tor
Reason: tried: '/Users/pdurbin/github/tryquiet/quiet/3rd-party/tor/darwin/libevent-2.1.7.dylib' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64')), '/usr/lib/libevent-2.1.7.dylib' (no such file, not in dyld cache)
Error: Command failed: /Users/pdurbin/github/tryquiet/quiet/3rd-party/tor/darwin/tor --quiet --hash-password bbb42c364c1ce22056c9422d10531465
dyld[33173]: Library not loaded: @executable_path/libevent-2.1.7.dylib
Referenced from: <854132CE-FB79-3F2A-81DF-4E11AB34B3F5> /Users/pdurbin/github/tryquiet/quiet/3rd-party/tor/darwin/tor
Reason: tried: '/Users/pdurbin/github/tryquiet/quiet/3rd-party/tor/darwin/libevent-2.1.7.dylib' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64')), '/usr/lib/libevent-2.1.7.dylib' (no such file, not in dyld cache)
at checkExecSyncError (node:child_process:896:11)
at Object.execSync (node:child_process:968:15)
at Object.execSync (node:electron/js2c/asar_bundle:2:12711)
at Tor.generateHashedPassword (webpack://@quiet/backend/./src/torManager/torManager.ts?:202:79)
at eval (webpack://@quiet/backend/./src/torManager/torManager.ts?:60:22)
at new Promise (<anonymous>)
at Tor.init (webpack://@quiet/backend/./src/torManager/torManager.ts?:56:26)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async Namespace.eval (webpack://@quiet/backend/./src/libp2p/connectionsManager.ts?:142:21) {
status: null,
signal: 'SIGABRT',
output: [
null,
<Buffer >,
<Buffer 64 79 6c 64 5b 33 33 31 37 33 5d 3a 20 4c 69 62 72 61 72 79 20 6e 6f 74 20 6c 6f 61 64 65 64 3a 20 40 65 78 65 63 75 74 61 62 6c 65 5f 70 61 74 68 2f ... 387 more bytes>
],
pid: 33173,
stdout: <Buffer >,
stderr: <Buffer 64 79 6c 64 5b 33 33 31 37 33 5d 3a 20 4c 69 62 72 61 72 79 20 6e 6f 74 20 6c 6f 61 64 65 64 3a 20 40 65 78 65 63 75 74 61 62 6c 65 5f 70 61 74 68 2f ... 387 more bytes>
}
webpack://@quiet/backend/./src/libp2p/connectionsManager.ts?:526
throw new Error();
^
Error
at process.eval (webpack://@quiet/backend/./src/libp2p/connectionsManager.ts?:526:19)
at process.emit (node:events:513:28)
at process.processEmit [as emit] (webpack://@quiet/backend/./node_modules/signal-exit/index.js?:199:34)
at emit (node:internal/process/promises:149:20)
at processPromiseRejections (node:internal/process/promises:283:27)
at process.processTicksAndRejections (node:internal/process/task_queues:96:32)
Node.js v18.12.1
@pdurbin and @EmiM could you two get a on screenshare perhaps one of these mornings (US time) and sort this out?
Screensharing won't help much at the moment.
The problem:
quiet/3rd-party/tor/darwin/libevent-2.1.7.dylib' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64'))
We just probably need to download tor binary with its dependencies for macos arm64 from here: https://www.torproject.org/download/tor/, put it to monorepo and adjust code responsible for building path pointing to the proper tor binary.
I'm on ea2f9af15 from the PR mentioned above...
... and unfortunately I'm still having trouble. 😞
Here's a question. Should I be able to run --help or similar using the tor
binary?
This is what I see:
pdurbin@air quiet % file 3rd-party/tor/darwin/arm64/tor
3rd-party/tor/darwin/arm64/tor: Mach-O 64-bit executable arm64
pdurbin@air quiet % 3rd-party/tor/darwin/arm64/tor --help
zsh: killed 3rd-party/tor/darwin/arm64/tor --help
pdurbin@air quiet %
I also googled a bit but I'm not sure where I can find the tor
binary to download. (I do see where I can download a Tor browser. I'm new to Tor, obviously. 😅 ) I'm just not sure how to confirm that I can execute the binary at all.
Anyway, here's the output from when I try to start Quiet: start-err.txt
Here's my guess of the most relevant part:
cked
backend:tor Initializing tor... +0ms
Error: Command failed: /Users/pdurbin/github/tryquiet/quiet/3rd-party/tor/darwin/arm64/tor --quiet --hash-password 3b461ba734fc7f11b911e10d36cb022c
at checkExecSyncError (node:child_process:896:11)
at Object.execSync (node:child_process:968:15)
at Object.execSync (node:electron/js2c/asar_bundle:2:12711)
at Tor.generateHashedPassword (webpack://@quiet/backend/./src/torManager/torManager.ts?:202:79)
at eval (webpack://@quiet/backend/./src/torManager/torManager.ts?:60:22)
at new Promise (<anonymous>)
at Tor.init (webpack://@quiet/backend/./src/torManager/torManager.ts?:56:26)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async Namespace.eval (webpack://@quiet/backend/./src/libp2p/connectionsManager.ts?:142:21) {
Finally, here's a screenshot:
@EmiM can you and phil try to screenshare and make it through all of the issues that come up? Doing this asynchronously has really dragged out.
You can check if you can run tor by going to:
/Users/pdurbin/github/tryquiet/quiet/3rd-party/tor/darwin/arm64/
and executing
./tor
You should see similar output to:
May 12 15:00:15.488 [notice] Tor 0.4.7.13 (git-7c1601fb6edd780f) running on Linux with Libevent 2.1.12-stable, OpenSSL 1.1.1f, Zlib 1.2.11, Liblzma N/A, Libzstd N/A and Glibc 2.35 as libc.
May 12 15:00:15.488 [notice] Tor can't help you if you use it wrong! Learn how to be safe at https://support.torproject.org/faq/staying-anonymous/
May 12 15:00:15.489 [notice] Configuration file "/var/tmp/dist/tor/etc/tor/torrc" not present, using reasonable defaults.
May 12 15:00:15.492 [notice] Opening Socks listener on 127.0.0.1:9050
May 12 15:00:15.492 [notice] Opened Socks listener connection (ready) on 127.0.0.1:9050
May 12 15:00:15.000 [warn] Unhandled OpenSSL errors found at src/lib/tls/tortls.c:190:
May 12 15:00:15.000 [warn] TLS error: could not load the shared library (in DSO support routines:dlfcn_load:---)
(...)
I did not merge my MR yet because I did not check if this fix fully works.
I am connected to M1 and investigating.
Edit: I tried new and previous tor binary on our M1. The new one is indeed being killed immediately but the 'old' one is working just fine. I don't know the solution to this problem yet. @pdurbin could you try running previous tor again?
cd /Users/pdurbin/github/tryquiet/quiet/3rd-party/tor/darwin/x64/
./tor
Edit2: the new arm64 binary is shipped unsigned, that's why macos is refusing to run it.
I also googled a bit but I'm not sure where I can find the
tor
binary to download. (I do see where I can download a Tor browser. I'm new to Tor, obviously. sweat_smile ) I'm just not sure how to confirm that I can execute the binary at all.
I added the link in one of my previous comments: https://www.torproject.org/download/tor/
Edit2: the new arm64 binary is shipped unsigned, that's why macos is refusing to run it.
Ah, unsigned. Ok. Hmm.
Anyway, I did try the steps above. I had to make the tor
binary executable. Here's the output:
pdurbin@air ~ % cd /Users/pdurbin/github/tryquiet/quiet/3rd-party/tor/darwin/x64/
pdurbin@air x64 % ./tor
zsh: permission denied: ./tor
pdurbin@air x64 % chmod +x tor
pdurbin@air x64 % ./tor
dyld[86175]: Library not loaded: @executable_path/libevent-2.1.7.dylib
Referenced from: <854132CE-FB79-3F2A-81DF-4E11AB34B3F5> /Users/pdurbin/github/tryquiet/quiet/3rd-party/tor/darwin/x64/tor
Reason: tried: '/Users/pdurbin/github/tryquiet/quiet/3rd-party/tor/darwin/x64/libevent-2.1.7.dylib' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64')), '/usr/lib/libevent-2.1.7.dylib' (no such file, not in dyld cache)
zsh: abort ./tor
pdurbin@air x64 %
@holmesworcester I'm not very concerned about if this is dragging out or not, but I'm ok with closing this issue or whatever makes sense. I'm not sure about a screenshare. Async is nice and it feels like we're getting somewhere.
NOTE: (from @holmesworcester) someone should get the M1 mac in the office and debug this, either fixing things so that the default dev instructions just work (preferred) or—if it's a much easier path—including instructions in the desktop README for M1/M2 users.
...
I got a new M2 MacBook Air and had trouble running
npm run lerna bootstrap
as of cbc0c1d80:When I run
node -e "console.log(process.arch)"
I getarm64
.From the log above, it looks like go-ipfs 0.9.1 is being pulled in...
grep 'fetch.*go-ipfs' /Users/pdurbin/.npm/_logs/2023-02-11T02_48_34_696Z-debug-0.log
3570 http fetch GET 200 https://registry.npmjs.org/go-ipfs/-/go-ipfs-0.9.1.tgz 7484ms (cache miss)
... and here's the
No binary available for arch 'undefined'
error: https://github.com/ipfs/npm-go-ipfs/blob/v0.9.1/src/download.js#L131That error was also reported here: https://github.com/ipfs/npm-go-ipfs/issues/40 and was apparently fixed in https://github.com/ipfs/npm-go-ipfs/pull/44 which (based on dates of tags) seems to have been released in go-ipfs 0.12.0. So maybe upgrading go-ipfs will help? Or maybe I'm way off. 😅
Here's that log file mentioned above: 2023-02-11T02_48_34_696Z-debug-0.log.txt