sudipghimire533 / ytui-music

Youtube client in terminal for music ( lightweight youtube client )
GNU General Public License v2.0
467 stars 19 forks source link

thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: VersionMismatch { linked: 65644, loaded: 131072 }', front-end/src/ui/utils.rs:496:38 #35

Open christianparpart opened 1 year ago

christianparpart commented 1 year ago

Hi,

this is on Fedora 38 (on ARM64) and it seems like the Mpv rust binding thinks it wants to expect and load a too old native libmpv, whereas the installed libmpv on the system seems to be way newer. NB: i was just git clone'ing the repo, as there seems to be no ARM64 native builds. Compiling works, executing the binary does not.

christianparpart@fedora-arm64-vm ~/u/s/t/ytui-music (main)> dnf info mpv-libs
Installed Packages
Name         : mpv-libs
Version      : 0.35.1
Release      : 4.fc38
Architecture : aarch64
Size         : 3.2 M
Source       : mpv-0.35.1-4.fc38.src.rpm
...

when executing the binary:

christianparpart@fedora-arm64-vm ~/u/s/t/ytui-music (main)> ./target/release/ytui_music run

__   ___         _                           _
\ \ / / |_ _   _(_)      _ __ ___  _   _ ___(_) ___
 \ V /| __| | | | |_____| '_ ` _ \| | | / __| |/ __|
  | | | |_| |_| | |_____| | | | | | |_| \__ \ | (__
  |_|  \__|\__,_|_|     |_| |_| |_|\__,_|___/_|\___|

Author(s): Sudip Ghimire <sudipghimire533@gmail.com>

thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: VersionMismatch { linked: 65644, loaded: 131072 }', front-end/src/ui/utils.rs:496:38
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
fish: Job 1, './target/release/ytui_music run' terminated by signal SIGABRT (Abort)

Is there any chance to work around this, get fixed, or something else?

p.s.: great project, would love to use it!

Junker commented 1 year ago

Same here. OS: ArchLinux

$> pacman -Qi ytui-music
Name            : ytui-music
Version         : 2.0.0rc1-1

$> pacman -Qi mpv
Name            : mpv
Version         : 1:0.35.1-6
mecha commented 1 year ago

I get the same error on ArchLinux, using version 2.0.0-rc1.

Replacing the problematic unwrap() with some error handling yields the below error details:

VersionMismatch { linked: 65644, loaded: 131072 }

This seems to corroborate what @christianparpart said about the mpv version.

sudipghimire533 commented 11 months ago

Sorry people, i am quite caught up in work, but i tried quickly in below setup, is working fine. if you still have problem let me know and i will try to look and if you found a workaround also post it here for others <3

ubuntu@ubuntu:~/Projects/ytui-music$ mpv --version
mpv 0.32.0 Copyright © 2000-2020 mpv/MPlayer/mplayer2 projects
 built on UNKNOWN
ffmpeg library versions:
   libavutil       56.31.100
   libavcodec      58.54.100
   libavformat     58.29.100
   libswscale      5.5.100
   libavfilter     7.57.100
   libswresample   3.5.100
ffmpeg version: 4.2.7-0ubuntu0.1

ubuntu@ubuntu:~/Projects/ytui-music$ openssl version
OpenSSL 1.1.1f  31 Mar 2020
ubuntu@ubuntu:~/Projects/ytui-music$ cargo --version
cargo 1.69.0 (6e9a83356 2023-04-12)
ubuntu@ubuntu:~/Projects/ytui-music$
Tombert commented 11 months ago

Having the same issue on macOS.

(base) ➜  release git:(main) mpv --version
mpv 0.35.1 Copyright © 2000-2023 mpv/MPlayer/mplayer2 projects
 built on Sat Jan 28 04:49:47 2023
FFmpeg library versions:
   libavutil       58.2.100
   libavcodec      60.3.100
   libavformat     60.3.100
   libswscale      7.1.100
   libavfilter     9.3.100
   libswresample   4.10.100
FFmpeg version: 6.0
(base) ➜  release git:(main) openssl version
OpenSSL 3.1.1 30 May 2023 (Library: OpenSSL 3.1.1 30 May 2023)
(base) ➜  release git:(main) cargo --version
cargo 1.71.0 (cfd3bbd8f 2023-06-08)
(base) ➜  release git:(main) uname -a
Darwin tombert-mac.local 22.5.0 Darwin Kernel Version 22.5.0: Thu Jun  8 22:22:22 PDT 2023; root:xnu-8796.121.3~7/RELEASE_X86_64 x86_64
(base) ➜  release git:(main) pwd
/Users/tombert/ytui-music/target/release
(base) ➜  release git:(main) RUST_BACKTRACE=1 ./ytui_music run

__   ___         _                           _
\ \ / / |_ _   _(_)      _ __ ___  _   _ ___(_) ___
 \ V /| __| | | | |_____| '_ ` _ \| | | / __| |/ __|
  | | | |_| |_| | |_____| | | | | | |_| \__ \ | (__
  |_|  \__|\__,_|_|     |_| |_| |_|\__,_|___/_|\___|

Author(s): Sudip Ghimire <sudipghimire533@gmail.com>

thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: VersionMismatch { linked: 65644, loaded: 131072 }', front-end/src/ui/utils.rs:496:38
stack backtrace:
   0: _rust_begin_unwind
   1: core::panicking::panic_fmt
   2: core::result::unwrap_failed
   3: ytui_music::main
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
[1]    34439 abort      RUST_BACKTRACE=1 ./ytui_music run
uuuulopta commented 11 months ago

Hello guys I found a solution to this. The problem is that libmpv-rs crate was not updated, however the repo itself is updated. So what you need to do is download the repo and tell cargo to look for local libmpv-rs.

To do this paste the following inside Cargo.toml :

[patch.crates-io]
libmpv = { path = "../libmpv-rs" }

( I cloned it in the same parent directory as ytui-music )

christianparpart commented 11 months ago

Can we get a proper fix submitted as a PR to this project instead, such that all users can benefit from it with least impact?

sudipghimire533 commented 11 months ago

This issue had been fixed within latest commit. please confirm