wireapp / wire-desktop

:computer: Wire for desktop
https://wire.com/download/
GNU General Public License v3.0
1.08k stars 234 forks source link

rust_sodium link failure on linux (52e70b04c3b194804c3501a039a98797d904ffb9) #1236

Closed alon closed 6 years ago

alon commented 6 years ago

Wire version: build failure, git revision: 52e70b04c3b194804c3501a039a98797d904ffb9 Wire for web version: N/A Operating system: Fedora 27 x86_64 Which antivirus software do you have installed: None

What steps will reproduce the problem?

  1. git clone
  2. npm install

What is the expected result? build artifact

What is the actual result? build fails with error message:

relocation R_X86_64_PC32 against symbol `crypto_aead_chacha20poly1305_encrypt_detached' can not be used when making a shared object; recompile with -fPIC

Please provide any additional information below. Attach a screenshot if possible.

$ rustc --version rustc 1.25.0-nightly (4e3901d35 2018-01-23)

Full output: $ npm install

wire-desktop@ preinstall /home/hiro/wire-desktop cd electron && npm install

up to date in 3.182s

wire-desktop@ install /home/hiro/wire-desktop cd electron && npm run rebuild-native-modules

wireinternal@ rebuild-native-modules /home/hiro/wire-desktop/electron node ./rebuild-native-modules.js "electron-rebuild" "-f -m ./"

✔ Rebuild Complete

wire-desktop@ postinstall /home/hiro/wire-desktop cd electron && npm run rebuild-neon

wireinternal@ rebuild-neon /home/hiro/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 void v1.0.2 Compiling lazy_static v0.2.11 Compiling utf8-ranges v1.0.0 Compiling lazy_static v1.0.0 Compiling neon-build v0.1.22 Compiling regex-syntax v0.4.2 Compiling libc v0.2.36 Compiling adler32 v1.0.2 Compiling cc v1.0.4 Compiling serde v1.0.27 Compiling cfg-if v0.1.2 Compiling unwrap v1.1.0 Compiling semver-parser v0.7.0 Compiling build_const v0.2.0 Compiling cslice v0.2.0 Compiling podio v0.1.6 Compiling gcc v0.3.54 Compiling unreachable v1.0.0 Compiling libsodium-neon v2.1.1 (file:///home/hiro/wire-desktop/electron/node_modules/libsodium-neon/native) Compiling neon v0.1.22 Compiling crc v1.7.0 Compiling memchr v2.0.1 Compiling miniz_oxide v0.1.2 Compiling filetime v0.1.15 Compiling time v0.1.39 Compiling xattr v0.1.11 Compiling rand v0.3.20 Compiling thread_local v0.3.5 Compiling semver v0.9.0 Compiling aho-corasick v0.6.4 Compiling bzip2-sys v0.1.6 Compiling miniz_oxide_c_api v0.1.2 Compiling miniz-sys v0.1.10 Compiling tar v0.4.14 Compiling msdos_time v0.1.5 Compiling regex v0.2.5 Compiling bzip2 v0.3.2 Compiling flate2 v0.2.20 Compiling flate2 v1.0.1 Compiling zip v0.2.8 Compiling rust_sodium-sys v0.3.1 Compiling neon-runtime v0.1.22 Compiling rust_sodium v0.3.0 error: linking with cc failed: exit code: 1 | = note: "cc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-m64" "-L" "/home/hiro/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "/home/hiro/wire-desktop/electron/node_modules/libsodium-neon/native/target/release/deps/libsodium_neon.libsodium_neon0-a222d1a9ef5eca4c2a91605d091d6440.rs.rcgu.o" "/home/hiro/wire-desktop/electron/node_modules/libsodium-neon/native/target/release/deps/libsodium_neon.libsodium_neon1-a222d1a9ef5eca4c2a91605d091d6440.rs.rcgu.o" "/home/hiro/wire-desktop/electron/node_modules/libsodium-neon/native/target/release/deps/libsodium_neon.libsodium_neon10-a222d1a9ef5eca4c2a91605d091d6440.rs.rcgu.o" "/home/hiro/wire-desktop/electron/node_modules/libsodium-neon/native/target/release/deps/libsodium_neon.libsodium_neon11-a222d1a9ef5eca4c2a91605d091d6440.rs.rcgu.o" "/home/hiro/wire-desktop/electron/node_modules/libsodium-neon/native/target/release/deps/libsodium_neon.libsodium_neon12-a222d1a9ef5eca4c2a91605d091d6440.rs.rcgu.o" "/home/hiro/wire-desktop/electron/node_modules/libsodium-neon/native/target/release/deps/libsodium_neon.libsodium_neon13-a222d1a9ef5eca4c2a91605d091d6440.rs.rcgu.o" "/home/hiro/wire-desktop/electron/node_modules/libsodium-neon/native/target/release/deps/libsodium_neon.libsodium_neon14-a222d1a9ef5eca4c2a91605d091d6440.rs.rcgu.o" "/home/hiro/wire-desktop/electron/node_modules/libsodium-neon/native/target/release/deps/libsodium_neon.libsodium_neon15-a222d1a9ef5eca4c2a91605d091d6440.rs.rcgu.o" "/home/hiro/wire-desktop/electron/node_modules/libsodium-neon/native/target/release/deps/libsodium_neon.libsodium_neon2-a222d1a9ef5eca4c2a91605d091d6440.rs.rcgu.o" "/home/hiro/wire-desktop/electron/node_modules/libsodium-neon/native/target/release/deps/libsodium_neon.libsodium_neon3-a222d1a9ef5eca4c2a91605d091d6440.rs.rcgu.o" "/home/hiro/wire-desktop/electron/node_modules/libsodium-neon/native/target/release/deps/libsodium_neon.libsodium_neon4-a222d1a9ef5eca4c2a91605d091d6440.rs.rcgu.o" "/home/hiro/wire-desktop/electron/node_modules/libsodium-neon/native/target/release/deps/libsodium_neon.libsodium_neon5-a222d1a9ef5eca4c2a91605d091d6440.rs.rcgu.o" "/home/hiro/wire-desktop/electron/node_modules/libsodium-neon/native/target/release/deps/libsodium_neon.libsodium_neon6-a222d1a9ef5eca4c2a91605d091d6440.rs.rcgu.o" "/home/hiro/wire-desktop/electron/node_modules/libsodium-neon/native/target/release/deps/libsodium_neon.libsodium_neon7-a222d1a9ef5eca4c2a91605d091d6440.rs.rcgu.o" "/home/hiro/wire-desktop/electron/node_modules/libsodium-neon/native/target/release/deps/libsodium_neon.libsodium_neon8-a222d1a9ef5eca4c2a91605d091d6440.rs.rcgu.o" "/home/hiro/wire-desktop/electron/node_modules/libsodium-neon/native/target/release/deps/libsodium_neon.libsodium_neon9-a222d1a9ef5eca4c2a91605d091d6440.rs.rcgu.o" "-o" "/home/hiro/wire-desktop/electron/node_modules/libsodium-neon/native/target/release/deps/liblibsodium_neon.so" "/home/hiro/wire-desktop/electron/node_modules/libsodium-neon/native/target/release/deps/libsodium_neon.crate.metadata.rcgu.o" "/home/hiro/wire-desktop/electron/node_modules/libsodium-neon/native/target/release/deps/libsodium_neon.crate.allocator.rcgu.o" "-Wl,-z,relro,-z,now" "-Wl,-O1" "-nodefaultlibs" "-L" "/home/hiro/wire-desktop/electron/node_modules/libsodium-neon/native/target/release/deps" "-L" "/home/hiro/wire-desktop/electron/node_modules/libsodium-neon/native/target/release/build/neon-runtime-1e2552be33b80dfc/out" "-L" "/home/hiro/wire-desktop/electron/node_modules/libsodium-neon/native/target/release/build/rust_sodium-sys-b7a2349bd979fb79/out/installed/lib" "-L" "/home/hiro/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "-Wl,--whole-archive" "/tmp/rustc.K5BHd5LLucZo/librust_sodium-7f149e2577ceb02c.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustc.K5BHd5LLucZo/libserde-4784b702dd5a9393.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustc.K5BHd5LLucZo/librust_sodium_sys-85673668b94c14db.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustc.K5BHd5LLucZo/libunwrap-043829e8ff0298e7.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustc.K5BHd5LLucZo/librand-4bd0f5a69b2e4916.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustc.K5BHd5LLucZo/liblazy_static-c489e7e81cffcbd1.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustc.K5BHd5LLucZo/liblibc-084436fba9332ae0.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustc.K5BHd5LLucZo/libneon-26737daa9637a4f9.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustc.K5BHd5LLucZo/libsemver-7228cd7fc51fa37a.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustc.K5BHd5LLucZo/libsemver_parser-dd452207ccf84579.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustc.K5BHd5LLucZo/libneon_runtime-1ec360d00434ce5f.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustc.K5BHd5LLucZo/libcslice-e6649c280a1d384e.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustc.K5BHd5LLucZo/libstd-719ffb61e127e8ae.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustc.K5BHd5LLucZo/libpanic_unwind-ebaabcfe2bf218bf.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustc.K5BHd5LLucZo/libunwind-5a400090f0ccfbd8.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustc.K5BHd5LLucZo/liballoc_system-cf44b334b6e46617.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustc.K5BHd5LLucZo/liblibc-1cfdca980e7e8cff.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustc.K5BHd5LLucZo/liballoc-e0e17b2b0ff76fc1.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustc.K5BHd5LLucZo/libstd_unicode-d658ca9c29a74ca4.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustc.K5BHd5LLucZo/libcore-e28dd9c6150cc91a.rlib" "-Wl,--no-whole-archive" "/tmp/rustc.K5BHd5LLucZo/libcompiler_builtins-a755f4e899878c90.rlib" "-Wl,-Bdynamic" "-l" "util" "-l" "util" "-l" "dl" "-l" "rt" "-l" "pthread" "-l" "pthread" "-l" "gcc_s" "-l" "c" "-l" "m" "-l" "rt" "-l" "pthread" "-l" "util" "-l" "util" "-shared" = note: /usr/bin/ld: /tmp/rustc.K5BHd5LLucZo/librust_sodium_sys-85673668b94c14db.rlib(libsodium_la-aead_chacha20poly1305.o): relocation R_X86_64_PC32 against symbol `crypto_aead_chacha20poly1305_encrypt_detached' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: final link failed: Bad value collect2: error: ld returned 1 exit status

error: aborting due to previous error

error: Could not compile libsodium-neon.

To learn more, run the command again with --verbose. neon ERR! cargo build failed

Error: cargo build failed at Target. (/home/hiro/wire-desktop/electron/node_modules/neon-cli/dist/neon-cli/target.js:124:35) at step (/home/hiro/wire-desktop/electron/node_modules/neon-cli/dist/neon-cli/target.js:32:23) at Object.next (/home/hiro/wire-desktop/electron/node_modules/neon-cli/dist/neon-cli/target.js:13:53) at fulfilled (/home/hiro/wire-desktop/electron/node_modules/neon-cli/dist/neon-cli/target.js:4:58) at at process._tickCallback (internal/process/next_tick.js:188:7) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: 7zip-bin-win@2.1.1 (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-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.3 (node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

added 119 packages and updated 1 package in 80.484s

ffflorian commented 6 years ago

Hi @alon, the build fails but you can still use Wire Desktop, even when libsodium-neon is not available.

Also this is a duplicate of https://github.com/wireapp/libsodium-neon/issues/15, it should be fixed after the latest version of libsodium-neon is included in Wire Desktop.