Aanok/jftui

incorrect libmpv version detection on OpenBSD

p45rJv opened this issue · 3 comments

jftui version
any

Describe the bug
jftui fails to run due to incorrect libmpv version being detected for mpv-0.34 on OpenBSD. According to this table the detected for client api seems to be wrong:
FATAL: found libmpv version 0.2, but 1.24 or greater is required

To Reproduce

  1. install dependencies
  2. git clone
  3. make && doas make install
  4. run jftui:

Expected behavior
Jftui runs without problems

Temporary workaround

  1. (remove any previous jftui install)
  2. git clone
  3. remove line 244 to 260 in main.c
  4. make && doas make install

Jftui will then work without problems / as expected.

Aanok commented

Hmm. Something's really fishy here, if you'd been on mpv 0.35 it would have meant libmpv 2.0 and I'd have thought some error in the version extraction logic was swapping around major and minor numbers (maybe due to endianness nonsense if you had an unusual processor). But mpv 0.34 should have libmpv 1.109.

Are you sure you're linking to a good libmpv binary? If you ldd jftui | grep libmpv and then strings XXX | grep libmpv\.so where XXX is the lib binary what do you get?

EDIT - In fact, since the mpv binary does not link to libmpv (I guess it's directly compiled against the codebase) it's possible the package on your system providing libmpv is very out of date and the library and executable versions don't match up. But then again jftui working at all under these conditions would be absolutely whack so that's probably not it 😁

Apologies for the late response. Totally forgot this as jftui has been running without issues.

Anywho:

Are you sure you're linking to a good libmpv binary?

Not sure. I have tried the prebuilt package and installing from ports (build from source). Same result.

If you ldd jftui | grep libmpv and then strings XXX | grep libmpv.so where XXX is the lib binary what do you get?

0000080b62c76000 0000080b62ee8000 rlib 0 1 0 /usr/local/lib/libmpv.so.1.0

In fact, since the mpv binary does not link to libmpv (I guess it's directly compiled against the codebase) it's possible the package on your system providing libmpv is very out of date and the library and executable versions don't match up

Should be quite up to date as its from the latest branch (0.34+) with patches for compability.

EDIT: The mpv port has been updated to 0.35, and as you mentioned, includes libmpv2. The correct version is now reported and jftui installs without problems.

Works like a charm. Thanks :)

Aanok commented

Ah, sweet. Usual Linux distro ecosystem shenanigans at work 😛