Wonderfall / dockerfiles

Discontinued. Fork at your will.
Creative Commons Zero v1.0 Universal
392 stars 170 forks source link

[rtorrent] filebot doesn't load libmediainfo properly, fails as a result #186

Closed duckfullstop closed 6 years ago

duckfullstop commented 7 years ago

Still trying to get my setup just right, but running into an issue with filebot / mediainfo. Here's the log from a test run I did in the console:

/filebot/filebot.sh -script fn:amc --output "/data/Media" --action test -non-strict --conflict skip -non-strict --log-file amc.log --def excludeList=
amc.excludes unsorted=y music=y "seriesFormat=/data/Media/TV/{n}/Season {s.pad(2)}/{s00e00} - {t}" "animeFormat=/data/Media/Animes/{n}/{e.pad(3)} - {t}"
"movieFormat=/data/Media/Movies/{n}" "musicFormat=/data/Media/Music/{n}/{fn}" "ut_dir=$TORRENT_PATH" "ut_kind=multi" "ut_title=$TORRENT_NAME" "ut_label=$
TORRENT_LABEL"
Locking /filebot/data/logs/amc.log
Run script [fn:amc] at [Fri May 12 03:39:34 GMT 2017]
Parameter: excludeList = amc.excludes
Parameter: unsorted = y
Parameter: music = y
Parameter: seriesFormat = /data/Media/TV/{n}/Season {s.pad(2)}/{s00e00} - {t}
Parameter: animeFormat = /data/Media/Animes/{n}/{e.pad(3)} - {t}
Parameter: movieFormat = /data/Media/Movies/{n}
Parameter: musicFormat = /data/Media/Music/{n}/{fn}
Parameter: ut_dir = (redacted)
Parameter: ut_kind = multi
Parameter: ut_title = (redacted)
Parameter: ut_label = Music
Use excludes: /data/Media/amc.excludes (1)
Input: (redacted).flac
Input: (redacted).flac
Input: (redacted).flac
Input: (redacted).flac
Input: (redacted).flac
Input: (redacted).flac
Group: [music:(redacted)] => [(redacted).flac, (redacted).flac, (redacted).flac, (redacted).flac, (redacted).flac, (redacted).flac]
Rename music using ID3
UnsatisfiedLinkError: Unable to load library 'mediainfo': Native library (linux-x86-64/libmediainfo.so) not found in resource path ([file:/filebot/FileBot.jar])
Processing 6 unsorted files
[TEST] From [(redacted).flac] to [/data/Media/Unsorted/(redacted).flac]
[TEST] From [(redacted).flac] to [/data/Media/Unsorted/(redacted).flac]
[TEST] From [(redacted).flac] to [/data/Media/Unsorted/(redacted).flac]
[TEST] From [(redacted).flac] to [/data/Media/Unsorted/(redacted).flac]
[TEST] From [(redacted).flac] to [/data/Media/Unsorted/(redacted).flac]
[TEST] From [(redacted).flac] to [/data/Media/Unsorted/(redacted).flac]
Processed 6 files
Finished without processing any files
Failure (°_°)

and with strace, to see what files it's trying to load:

strace -f /filebot/filebot.sh -script fn:amc --output "/data/Media" --action test -non-strict --conflict skip -non-strict --log-file amc.log --def ex
cludeList=amc.excludes unsorted=y music=y "seriesFormat=/data/Media/TV/{n}/Season {s.pad(2)}/{s00e00} - {t}" "animeFormat=/data/Media/Animes/{n}/{e.pad(3
)} - {t}" "movieFormat=/data/Media/Movies/{n}" "musicFormat=/data/Media/Music/{n}/{fn}" "ut_dir=$TORRENT_PATH" "ut_kind=multi" "ut_title=$TORRENT_NAME" "
ut_label=$TORRENT_LABEL" 2>&1 | grep libmediainfo
[pid   674] open("/usr/lib/jvm/java-1.8-openjdk/jre/lib/amd64/server/libmediainfo.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
[pid   674] open("/usr/lib/jvm/java-1.8-openjdk/jre/lib/amd64/libmediainfo.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
[pid   674] open("/usr/lib/jvm/java-1.8-openjdk/jre/../lib/amd64/libmediainfo.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
[pid   674] open("/filebot/libmediainfo.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
[pid   674] open("/filebot/lib/x86_64/libmediainfo.so", O_RDONLY|O_CLOEXEC) = 19
[pid   674] open("/usr/lib/libmediainfo.so", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_PATH) = -1 ENOENT (No such file or directory)
[pid   674] stat("/usr/lib/libmediainfo.so", 0x7f6014125640) = -1 ENOENT (No such file or directory)
[pid   674] open("/lib/libmediainfo.so", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_PATH) = -1 ENOENT (No such file or directory)
[pid   674] stat("/lib/libmediainfo.so", 0x7f6014125640) = -1 ENOENT (No such file or directory)
[pid   674] open("/usr/lib/jvm/java-1.8-openjdk/jre/lib/amd64/server/libmediainfo.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
[pid   674] open("/usr/lib/jvm/java-1.8-openjdk/jre/lib/amd64/libmediainfo.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
[pid   674] open("/usr/lib/jvm/java-1.8-openjdk/jre/../lib/amd64/libmediainfo.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
[pid   674] open("/filebot/libmediainfo.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
[pid   674] open("/filebot/lib/x86_64/libmediainfo.so", O_RDONLY|O_CLOEXEC) = 19
[pid   674] write(2, "UnsatisfiedLinkError: Unable to "..., 161UnsatisfiedLinkError: Unable to load library 'mediainfo': Native library (linux-x86-64/libmediainfo.so) not found in resource path ([file:/filebot/FileBot.jar])

libmediainfo does exist in /filebot/lib/x86_64:

ls -la /filebot/lib/x86_64/
total 10000
drwxr-xr-x    1 1029     65536          122 May  7 00:34 .
drwxr-xr-x    1 1029     65536           46 May  7 00:34 ..
-rw-r--r--    1 1029     65536      2745145 Sep 26  2015 lib7-Zip-JBinding.so
-rw-r--r--    1 1029     65536       111408 Sep 24  2016 libjnidispatch.so
-rw-r--r--    1 1029     65536      7065248 Apr  3 07:47 libmediainfo.so
-rw-r--r--    1 1029     65536       308352 Feb  9 19:57 libzen.so

Setting LD_LIBRARY_PATH as per this post's recommendation doesn't seem to help.

This seems to be an identical issue to this one, but in that case the user was able to resolve it by simply installing filebot through package management - Alpine has mediainfo packages, but they're still only in the testing repositories (and shouldn't be neccesary?). Any bright ideas?

Dryusdan commented 7 years ago

I have update file but the problem is filebot version I think

When I have change build argument filebot work...

So I use : ARG MEDIAINFO_VER=0.7.92.1 ARG FILEBOT_VER=4.7.7

If this version not work, I share my Dockerfile (I have add libzen (thank @xataz ))