Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Signal-Desktop for i686 #34126

Closed
ghost opened this issue Nov 18, 2021 · 9 comments
Closed

Signal-Desktop for i686 #34126

ghost opened this issue Nov 18, 2021 · 9 comments

Comments

@ghost
Copy link

ghost commented Nov 18, 2021

Signal-Desktop i686 has a very old version 1.14.4 (2018) in Void Linux and actually doesn't work, although it runs. An error when linking to a smartphone. Version 5.16.0 (2021) already exists at this time. What caused the discontinuation of builds for i686 after version 1.14.4? Did you encounter any unsolvable problems? I also failed to compile latest Signal version for x86 (some error). Will you keep trying? Perhaps you will have good luck.

https://voidlinux.org/packages/?arch=i686&q=Signal-Desktop
https://voidlinux.org/packages/?arch=x86_64&q=Signal-Desktop

@mikoxyz
Copy link
Contributor

mikoxyz commented Nov 19, 2021

# Signal officially only supports x86_64 (also due to Electron)
# discontinued Electron 32-bit support: https://www.electronjs.org/blog/linux-32bit-support
# 32-bit is not supported signalapp/Signal-Desktop#1661
# armv7hf/arm64: signalapp/Signal-Desktop#3410

- From https://github.com/void-linux/void-packages/blob/master/srcpkgs/Signal-Desktop/template.

@ghost
Copy link
Author

ghost commented Nov 20, 2021

And so what? Electron 32 bit package exists in npm repository. Latest version.

@mikoxyz
Copy link
Contributor

mikoxyz commented Nov 20, 2021

And so what? Electron 32 bit package exists in npm repository. Latest version.

a) We don't use npm, so that's irrelevant.
b) "So what"? 32-bit builds are still not officially supported, and I doubt someone here wants to maintain a psuedo-fork of Electron and Signal. Do it yourself, if you're so inclined.

@Johnnynator
Copy link
Member

And so what? Electron 32 bit package exists in npm repository. Latest version.

a) We don't use npm, so that's irrelevant.

The Signal-Desktop packages does use the npm repos.

b) "So what"? 32-bit builds are still not officially supported, and I doubt someone here wants to maintain a psuedo-fork of Electron and Signal. Do it yourself, if you're so inclined.

No need to fork electron, they still support x86, that blog post doesn't representet status quo.
I can't say anything about signal and what might or might not be broken with 32bit builds. These two issues are mainly about their packaging work and not about third party packaging.

@ericonr
Copy link
Member

ericonr commented Nov 20, 2021

Unfortunately, it would seem Signal is using the npm repository version instead of our own. Should that be fixed to use system electron, it would be brought closer to actually working on i686.

It was initially disabled because it failed to build for i686, so if electron isn't the only issue, more investigation might be necessary. I can't actually find the specific build failure. Sharing the build failure you got would be a good start.

@mikoxyz
Copy link
Contributor

mikoxyz commented Nov 20, 2021

And so what? Electron 32 bit package exists in npm repository. Latest version.

a) We don't use npm, so that's irrelevant.

The Signal-Desktop packages does use the npm repos.

Was primarily referring to the Electron package not using npm, but yeah, that's a miss on my end. Sorry about that.

b) "So what"? 32-bit builds are still not officially supported, and I doubt someone here wants to maintain a psuedo-fork of Electron and Signal. Do it yourself, if you're so inclined.

No need to fork electron, they still support x86, that blog post doesn't representet status quo. I can't say anything about signal and what might or might not be broken with 32bit builds. These two issues are mainly about their packaging work and not about third party packaging.

Oh, really? Another miss on my end, then; was going completely after the blog post. Sorry ^^;

@Johnnynator
Copy link
Member

I did take a quick look at Signal-Desktop. It is probably the most painfull and broken mix of npm packages and certainly not trivial to get running outside of x86_64 (glibc) .
If someone wants to fight though all the mess and get it working on i686, x86_64-musl and the likes, feel free to do so, but for now the most sane solution is to clean the signal-desktop package from the i686 repo,

error /builddir/Signal-Desktop-5.24.0/node_modules/@signalapp/signal-client: Command failed.
Exit code: 1
Command: node-gyp-build
Arguments: 
Directory: /builddir/Signal-Desktop-5.24.0/node_modules/@signalapp/signal-client
Output:
gyp info it worked if it ends with ok
gyp info using node-gyp@5.1.0
gyp info using node@14.18.1 | linux | ia32
gyp info find Python using Python version 2.7.18 found at "/usr/bin/python"
gyp http GET https://nodejs.org/download/release/v14.18.1/node-v14.18.1-headers.tar.gz
gyp http 200 https://nodejs.org/download/release/v14.18.1/node-v14.18.1-headers.tar.gz
gyp http GET https://nodejs.org/download/release/v14.18.1/SHASUMS256.txt
gyp http 200 https://nodejs.org/download/release/v14.18.1/SHASUMS256.txt
gyp info spawn /usr/bin/python
gyp info spawn args [
gyp info spawn args   '/usr/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   '/builddir/Signal-Desktop-5.24.0/node_modules/@signalapp/signal-client/build/config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/usr/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/tmp/.cache/node-gyp/14.18.1/include/node/common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=/tmp/.cache/node-gyp/14.18.1',
gyp info spawn args   '-Dnode_gyp_dir=/usr/lib/node_modules/npm/node_modules/node-gyp',
gyp info spawn args   '-Dnode_lib_file=/tmp/.cache/node-gyp/14.18.1/<(target_arch)/node.lib',
gyp info spawn args   '-Dmodule_root_dir=/builddir/Signal-Desktop-5.24.0/node_modules/@signalapp/signal-client',
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: binding.gyp not found (cwd: /builddir/Signal-Desktop-5.24.0/node_modules/@signalapp/signal-client) while trying to load binding.gyp
gyp ERR! configure error 
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:351:16)
gyp ERR! stack     at ChildProcess.emit (events.js:400:28)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:282:12)
gyp ERR! System Linux 5.15.2_2
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /builddir/Signal-Desktop-5.24.0/node_modules/@signalapp/signal-client
gyp ERR! node -v v14.18.1
gyp ERR! node-gyp -v v5.1.0
gyp ERR! not ok

@ghost
Copy link
Author

ghost commented Nov 21, 2021

I checked now. Signal-Desktop 1.14.4 does not start on Void Linux i686 at all. Segfault. The build was in August 2018 and apparently incompatible with modern libraries. There is also an error when running Kadu.
https://alpha.de.repo.voidlinux.org/current/Signal-Desktop-1.14.4_1.i686.xbps
https://voidlinux.org/packages/?arch=i686&q=kadu

Signal-Desktop-1.14.4_1.i686.xbps works in Ubuntu 16.04 32 bit (2016) however (runs but does not connect).

UPD (Offtop): I prefer to use wire-desktop instead of Signal. Package from Void Linux i686 also works in Ubuntu 16.04 32 bit (only need to install electron 10). There is a web version. No phone number required, no Google captcha.

@ghost
Copy link
Author

ghost commented Feb 9, 2022

In general, I would say that it is much easier to run Electron applications than C/C++ (Qt5/6) on the old 32-bit Linux. For example: Element, Wire. And try, for example, to compile Telegram i386. Good luck.
But Signal is an exception to this.

I copied app.asar (Wire) from Void Linux and ran it in Ubuntu Xenial 2016 without any problems. This would not have been possible in a C/C++ application.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants