arch-noob / filebot

FileBot ArchLinux AUR
https://aur.archlinux.org/packages/filebot/
2 stars 9 forks source link

mediainfo issue #13

Closed Motophan closed 1 year ago

Motophan commented 3 years ago

[gentoo@NAS ~]$ sudo pacman -S mediainfo warning: mediainfo-20.08-1 is up to date -- reinstalling resolving dependencies... looking for conflicting packages...

Packages (1) mediainfo-20.08-1

Total Installed Size: 0.08 MiB Net Upgrade Size: 0.00 MiB

:: Proceed with installation? [Y/n] y [gentoo@NAS ~]$ filebot -script fn:sysinfo FileBot 4.9.2 (r8046) JNA Native: java.lang.UnsatisfiedLinkError: Native library (com/sun/jna/linux-x86-64/libjnidispatch.so) not found in resource path (/usr/share/java/filebot/filebot.jar) MediaInfo: net.filebot.mediainfo.MediaInfoException: Unable to load amd64 (64-bit) native library libmediainfo.so: Could not initialize class com.sun.jna.Native

rednoah commented 3 years ago

If libjnidispatch.so, then libmediainfo.so can't work either. Does the jna.library.path configured in your filebot.sh launcher point to the folder where your libjnidispatch.so is located?

Motophan commented 3 years ago

When I hardlink my working libmediainfo it does this.

filebot portable ln /lib64/libmediainfo.so ~/filebot/lib/Linux-x86_64/

MediaInfo: net.filebot.mediainfo.MediaInfoException: Unable to load amd64 (64-bit) native library libmediainfo.so: Unable to load library 'mediainfo': /usr/lib/libmediainfo.so: undefined symbol: _ZN6ZenLib4File4OpenERKNSt7cxx1112basic_stringIwSt11char_traitsIwESaIwEEENS0_8access_tE /usr/lib64/libmediainfo.so: undefined symbol: _ZN6ZenLib4File4OpenERKNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEENS0_8access_tE /usr/lib64/libmediainfo.so.0.0.0: undefined symbol: _ZN6ZenLib4File4OpenERKNSt7cxx1112basic_stringIwSt11char_traitsIwESaIwEEENS0_8access_tE

I think this is feature regression

rednoah commented 3 years ago

The interesting bit about libmediainfo is that it isn't a filebot feature per se. It'll work or not work independently of FileBot. If it worked before, that's a hint on how to make it work again. Up/Downgrading filebot is unlikely to make a difference in this regard though.

rednoah commented 3 years ago

Have you tried the official MediaInfo builds yet? https://mediaarea.net/en/MediaInfo/Download/Arch_Linux

(or and older build of libmediainfo.so that might be more compatible with your platform, since it worked previously)

rednoah commented 3 years ago

Depending on the build, libmediainfo.so may also require libzen.so and the error message seems to indicate that ZenLib something is missing:

/usr/lib64/libmediainfo.so.0.0.0: undefined symbol: _ZN6ZenLib4File4OpenERKNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEENS0_8access_tE
Motophan commented 3 years ago

WOOHOO!!!!

FileBot 4.9.2 (r8046)
JNA Native: 6.1.0
MediaInfo: 20.08
p7zip: p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,4 CPUs AMD Ryzen 3 3200G with Radeon Vega Graphics     (810F81),ASM,AES-NI)
unrar: UNRAR 5.91 freeware
Chromaprint: 1.5.0
Extended Attributes: OK
Unicode Filesystem: OK
Script Bundle: 2020-09-10 (r673)
Groovy: 3.0.6
JRE: OpenJDK Runtime Environment 11.0.8
JVM: 64-bit OpenJDK 64-Bit Server VM
CPU/MEM: 4 Core / 3.6 GB Max Memory / 40 MB Used Memory
OS: Linux (amd64)
HW: Linux NAS 5.8.13-arch1-1 #1 SMP PREEMPT Thu, 01 Oct 2020 20:40:35 +0000 x86_64 GNU/Linux
STORAGE: ext4 [/] @ 375 GB | zfs [/mnt/data] @ 65 TB
DATA: /home/gentoo/.config/filebot
Package: AUR
License: FileBot License [redacted] (Valid-Until: 2021-06-18)
Done ヾ(@⌒ー⌒@)ノ

Alright bois so rednoah was right, its libzen all the way. Just ln /lib64/libzen.so /path/to/filebot/data/directory

rednoah commented 3 years ago

It's a bit strange that it doesn't find these libraries by default though. I would have assumed that /lib64 is in the system library path. How did this work in the past if /lib64 wasn't in the library path before?

rednoah commented 3 years ago

In any case, I shall update filebot.sh to make sure /lib64 is in the jna.library.path by default:

LIBRARY_PATH="$FILEBOT_HOME/lib/$(uname -m):/lib64"
bachph commented 2 years ago

Alright bois so rednoah was right, its libzen all the way. Just ln /lib64/libzen.so /path/to/filebot/data/directory

Thanks! For me a link did not work. But I was able to copy the correct ones (libmediainfo.so and libzen.so) from /usr/lib64 to the /lib/Linux-x86_64 folder.