Closed Reichl closed 6 years ago
Can you check if you have the package libsodium or libsodium18 installed? If not, install it and try to compile again. Let us know if this works.
libsodium18 is installed, see below. Looks like libsodium does not exist in OS Leap 42.3.
m_reichl@reichl-x64:~> zypper se sodium Repository-Daten werden geladen... Installierte Pakete werden gelesen...
S | Name | Zusammenfassung | Typ
---+-----------------+------------------------------------+------
i+ | libsodium-devel | Portable NaCl-based crypto library | Paket
i+ | libsodium18 | Portable NaCl-based crypto library | Paket
m_reichl@reichl-x64:~>
m_reichl@reichl-x64:/usr/lib64> ls -al libsodium* lrwxrwxrwx 1 root root 19 10. Okt 17:12 libsodium.so -> libsodium.so.18.2.0 lrwxrwxrwx 1 root root 19 28. Jul 16:58 libsodium.so.18 -> libsodium.so.18.2.0 -rw-r--r-- 1 root root 446160 29. Mai 11:19 libsodium.so.18.2.0
Unfortunately I have no OpenSuse to test. Do you compile with grunt --arch=amd64 --target=rpm linux-other
?
The error with libsodium above comes already when doing "npm install"
m_reichl@reichl-x64:/mnt/Musik/wire-desktop> npm install
> wire-desktop@ preinstall /mnt/Musik/wire-desktop
> cd electron && npm install
> wire-desktop@ install /mnt/Musik/wire-desktop
> cd electron && npm run rebuild-native-modules
> wireinternal@ rebuild-native-modules /mnt/Musik/wire-desktop/electron
> node ./rebuild-native-modules.js "electron-rebuild" "-f -m ./"
✔ Rebuild Complete
> wire-desktop@ postinstall /mnt/Musik/wire-desktop
> cd electron && npm run rebuild-neon
> wireinternal@ rebuild-neon /mnt/Musik/wire-desktop/electron
> node ./rebuild-native-modules.js "electron-build-env" "neon build libsodium-neon"
neon info forcing rebuild for new build settings
neon info running cargo
Compiling neon-build v0.1.20
Compiling serde v1.0.15
Compiling unwrap v1.1.0
Compiling podio v0.1.5
Compiling utf8-ranges v1.0.0
Compiling cslice v0.2.0
Compiling libsodium-neon v2.1.1 (file:///mnt/Musik/wire-desktop/electron/node_modules/libsodium-neon/native)
Compiling void v1.0.2
Compiling regex-syntax v0.4.1
Compiling gcc v0.3.54
Compiling cc v1.0.1
Compiling lazy_static v0.2.9
Compiling unreachable v1.0.0
Compiling neon v0.1.20
Compiling thread_local v0.3.4
Compiling cfg-if v0.1.2
Compiling libc v0.2.32
Compiling miniz-sys v0.1.10
Compiling bzip2-sys v0.1.6
Compiling memchr v1.0.1
Compiling time v0.1.38
Compiling filetime v0.1.14
Compiling aho-corasick v0.6.3
Compiling regex v0.2.2
Compiling bzip2 v0.3.2
Compiling msdos_time v0.1.5
Compiling xattr v0.1.11
Compiling flate2 v0.2.20
Compiling tar v0.4.13
Compiling rand v0.3.17
Compiling zip v0.2.6
Compiling rust_sodium-sys v0.3.1
Compiling neon-runtime v0.1.20
error: could not find native static library `sodium`, perhaps an -L flag is missing?
error: Could not compile `rust_sodium-sys`.
To learn more, run the command again with --verbose.
neon ERR! cargo build failed
Error: cargo build failed
at Target.<anonymous> (/mnt/Musik/wire-desktop/electron/node_modules/neon-cli/dist/neon-cli/target.js:124:35)
at step (/mnt/Musik/wire-desktop/electron/node_modules/neon-cli/dist/neon-cli/target.js:32:23)
at Object.next (/mnt/Musik/wire-desktop/electron/node_modules/neon-cli/dist/neon-cli/target.js:13:53)
at fulfilled (/mnt/Musik/wire-desktop/electron/node_modules/neon-cli/dist/neon-cli/target.js:4:58)
at process._tickCallback (internal/process/next_tick.js:109:7)
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: 7zip-bin-win@^2.1.1 (node_modules/7zip-bin/node_modules/7zip-bin-win):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for 7zip-bin-win@2.1.1: wanted {"os":"win32","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: 7zip-bin-mac@^1.0.1 (node_modules/7zip-bin/node_modules/7zip-bin-mac):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for 7zip-bin-mac@1.0.1: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.1.1 (node_modules/sane/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
Ignoring this and doing grunt --arch=amd64 --target=rpm linux-other I get :
m_reichl@reichl-x64:/mnt/Musik/wire-desktop> grunt --arch=amd64 --target=rpm linux-other
Loading "Gruntfile.js" tasks...ERROR
>> SyntaxError: Unexpected token )
Warning: Task "linux-other" not found. Use --force to continue.
Aborted due to warnings.
With my successfull build some weeks ago both commands npm install and grunt --arch=amd64 --target=rpm linux-other did run without errors.
The Gruntfile was recently changed from CoffeeScript to ES6 Javascript. It seems your node cannot interpret this file correctly or there is an issue with the file. You probably need a nodejs version >= 8 now. Can you check which version you are using and if updating node to the current (8.7) helps?
P.S.: Can you please use the formatting features of github to make the code distinguishable from your comments
Ok, will update to nodejs 8.7 and come back. But isn't the libsodium issue above a different problem?
Yes, it looks like a different problem. But it could be also that the rust compiler wants to compile for 32-bit platform instead of 64 and you have only the 64-bit libsodium installed. I hope that this is the problem, because I am out of ideas :(
With updated nodejs:
m_reichl@reichl-x64:/mnt/Musik/wire-desktop> grunt --arch=amd64 --target=rpm linux-other
Running "clean:linux" (clean) task
>> 0 paths cleaned.
Running "update-keys" task
Running "gitinfo" task
Running "release-prod" task
Releases URL points to https://wire-app.wire.com/win/prod/ OK
Running "bundle" task
Running "electronbuilder:linux_other" (electronbuilder) task
Warning: Unsupported arch amd64 Use --force to continue.
Aborted due to warnings.
--arch has to be x64 for grunt: grunt --arch=x64 --target=rpm linux-other then wire-3.1.0-cd8364c.x86_64.rpm is built. Do I need the libsodium stuff anway?
You are right x64
it is.
You do not need libsodium necessarily, but it will make decrypting/encrypting messages faster.
Thanks, just checked under Debian 8/stretch, compiling rust_sodium-sys
works there.
Hi @Reichl, sorry to hear that you have problems with building on openSUSE.
In general it should not be necessary to have libsodium
installed. Can you tell me which Rust version you use and if you use nightly or stable?
m_reichl@reichl-x64:~> rustc --version
rustc 1.21.0 (3b72af97e 2017-10-09)
This is the same as on Debian 8, where building works.
Building an rpm on Opensuse without libsodium works.
@Reichl I tested it on a fresh openSUSE 42.3 installation and unfortunately I can't reproduce your error.
@Reichl, when I tried a few months ago, electron-builder
gave me a garbage rpm. Did yours work?
Anyway, that led me to get up to all this, with this end result.
@ConorIA, thanks for the links. The generated rpms do work and install with only a minor dep issue under Opensuse 42.3: The rpm requires libappindicator whereas Opensuse provides libappindicator1 and libappindicator3-1. The program nevertheless works when installed with rpm --nodeps. I build under Debian 8 for Opensuse because I could not fix the above compiling error for libsodium on my Opensuse machine.
I ran into the same error message and tried to solve it by installing libsodium18 from https://software.opensuse.org/package/libsodium18 as my opensuse Tumbleweed (rolling release) has only libsodium23.
However, this did not solve the problem.
I found out that the rpm for Fedor rawhide provided by https://gitlab.com/ConorIA/wire-builds can be installed on opensuse and the app seems to work well in a first test.
Wire Version: 3.1 from github 19.10.17 cd8364cb3bc1671791dd261b7400c7117c483296 OS: OpenSuse Leap 42.3 Do you have an antivirus software installed: No
What steps will reproduce the problem?
Could build successfully wire-3.1.0-e15e0c1.x86_64.rpm from 6.10.17