Page 1 of 1

FileBot 4.6 on Synology

Posted: 02 Jun 2015, 11:24
by spz82
Hi,
I want to start using FileBot on my NAS (DS712+ Intel based), but have a problem with recent version.
But maybe first start with what I had with FileBot 4.5 installed from filebot_4.5_i686.ipk:

Code: Select all

synek> filebot -script fn:sysinfo
Jun 02, 2015 12:55:38 PM java.util.prefs.FileSystemPreferences$1 run
INFO: Created user preferences directory.
FileBot 4.5 (r2612)
JNA Native: 4.0.0
MediaInfo: MediaInfoLib - v0.7.69
7-Zip-JBinding: OK
chromaprint-tools: fpcalc version 1.1.0 (/opt/share/filebot/fpcalc)
Extended Attributes: OK
Groovy Engine: 2.3.7
JRE: Java(TM) SE Runtime Environment 1.8.0_45 (headless)
JVM: 32-bit Java HotSpot(TM) Client VM
CPU/MEM: 2 Core / 239 MB Max Memory / 13 MB Used Memory
OS: Linux (i386)
uname: Linux synek 3.10.35 #5565 SMP Mon May 11 02:12:55 CST 2015 x86_64 GNU/Lin              ux synology_x86_712+

--- UPDATE AVAILABLE: FileBot 4.6 (r3052) ---
Then when I've installed filebot_4.6_noarch.ipk (there is no i686 version), and have such result:

Code: Select all

synek> filebot -script fn:sysinfo
FileBot 4.6 (r3052)
JNA Native: 4.0.0
MediaInfo: java.lang.UnsatisfiedLinkError: Unable to load library 'mediainfo': Native library (linux-x86/libmediainfo.so) not found in resource path ([file:/opt/share/filebot/FileBot.jar])
p7zip: Version 9.20 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,4 CPUs)
Jun 02, 2015 12:59:14 PM java.util.prefs.FileSystemPreferences$1 run
INFO: Created user preferences directory.
chromaprint-tools: java.io.IOException: Cannot run program "fpcalc": error=2, No such file or directory
Extended Attributes: OK
Groovy Engine: 2.4.3
JRE: Java(TM) SE Runtime Environment 1.8.0_45 (headless)
JVM: 32-bit Java HotSpot(TM) Client VM
CPU/MEM: 2 Core / 239 MB Max Memory / 12 MB Used Memory
OS: Linux (i386)
uname: Linux synek 3.10.35 #5565 SMP Mon May 11 02:12:55 CST 2015 x86_64 GNU/Lin              ux synology_x86_712+
Done ăž(ďź âăźâďź )ă
Notice errors:
MediaInfo: java.lang.UnsatisfiedLinkError: Unable to load library 'mediainfo': Native library (linux-x86/libmediainfo.so) not found in resource path ([file:/opt/share/filebot/FileBot.jar])
chromaprint-tools: java.io.IOException: Cannot run program "fpcalc": error=2, No such file or directory



The same result I got when try to install FileBot from synology package (according to instruction).
I've tried to manualy execute mediainfo and it works. From some reason FileBot 4.6 cannot find or load it.
Any suggestion?

Re: FileBot 4.6 on Synology

Posted: 02 Jun 2015, 12:46
by AsCavaco
hi there

The first error , you have to put the libzen file in the /volume1/@appstore/Filebot , if that is your filebot folder , once you do that , it will go away the errror , ou need both these files there - libmediainfo.so and libzen.so.

The Second error , you dont have the file fpcalc in /usr/local/chromaprint/bin , once you put the fpcalc there , it will stop the error , if you dont have that folder make it !!!


;)

Re: FileBot 4.6 on Synology

Posted: 02 Jun 2015, 13:17
by spz82
sorry but you are wrong ;) first of all filebot installed from ipkg is not installed in /volume1/@appstore/Filebot (only the one from package is there).
secondly mediainfo files are in LD_LIBRARY_PATH path, but are not loaded.
later on I will analyze how exaclty libraries are searched by filebot, but
4.5 - works:

Code: Select all

synek> cat /opt/share/filebot/bin/filebot.sh
#!/bin/sh

# force JVM language and encoding settings
export LANG=en_US.utf8

java -Dunixfs=false -DuseExtendedFileAttributes=true -DuseCreationDate=false -Dfile.encoding=UTF-8 -Dsun.net.client.defaultConnectTimeout=10000 -Dsun.net.client.defaultReadTimeout=60000 -Dapplication.deployment=ipkg -Dapplication.analytics=true -Duser.home=/opt/share/filebot/data -Dapplication.dir=/opt/share/filebot/data -Djava.io.tmpdir=/opt/share/filebot/data/temp -Djna.library.path=/opt/share/filebot -Djava.library.path=/opt/share/filebot -Dnet.filebot.AcoustID.fpcalc=/opt/share/filebot/fpcalc -jar /opt/share/filebot/FileBot.jar "$@"
4.6 - do not work:

Code: Select all

synek> cat /opt/share/filebot/bin/filebot.sh
#!/bin/sh

APP_ROOT="/opt/share/filebot"
APP_DATA="$APP_ROOT/data/$USER"

# add APP_ROOT to LD_LIBRARY_PATH
if [ ! -z "$LD_LIBRARY_PATH" ]
then
    export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$APP_ROOT"
else
    export LD_LIBRARY_PATH="$APP_ROOT"
fi

# force JVM language and encoding settings
export LANG="en_US.UTF-8"
export LC_ALL="en_US.UTF-8"

java -Dunixfs=false -DuseExtendedFileAttributes=true -DuseCreationDate=false -Dfile.encoding=UTF-8 -Dsun.net.client.defaultConnectTimeout=10000 -Dsun.net.client.defaultReadTimeout=60000 -Dapplication.deployment=ipkg -Dnet.filebot.Archive.extractor=SevenZipExecutable "-Dnet.filebot.Archive.7z=7z" "-Dnet.filebot.AcoustID.fpcalc=fpcalc" "-Duser.home=$APP_DATA" "-Dapplication.dir=$APP_DATA" "-Djava.io.tmpdir=$APP_DATA/temp" -jar "$APP_ROOT/FileBot.jar" "$@"

Re: FileBot 4.6 on Synology

Posted: 02 Jun 2015, 13:23
by rednoah
You're using Synology NAS. What are you using ipkg for?

Just READ THE MANUAL:
viewtopic.php?f=3&t=1802

I wrote a whole page dedicated to the SPK. Please read it. Pay attention to the part that says you should install the MediaInfo package from SynoCommunity.

Re: FileBot 4.6 on Synology

Posted: 02 Jun 2015, 13:35
by spz82
Hi rednoah,
I'm using ipkg because it is easier to test, upgrade, revert changes etc, and I have the same problem on ipkg as on syno package.
As I wrote in the first post I already followed this instruction and have installed MediaInfo from SynoCommunity (and mediainfo works).
What I see now is FileBot.jar v4.6 is not able to load MediaInfo libraries.

Even when I use filebot.sh from working 4.5 version against FileBot.jar v4.6 libraries are not loaded (I do not change anything with regards to MediaInfo between upgrade from 4.5 to 4.6)
Regards,

Re: FileBot 4.6 on Synology

Posted: 02 Jun 2015, 14:19
by rednoah
The IPKG and SPK package ARE NOT THE SAME.

So please do yourself a favour and install FileBot, MediaInfo, AcoustID SPKs all via Package Manager from their respective Synology package sources, do not use IPKG, and you will find that everything works out-of-the-box.

Re: FileBot 4.6 on Synology

Posted: 02 Jun 2015, 15:54
by spz82
I did not write that those are the same, but I've got the same behaviour.
At the begining I've star started with packages, but when got those errors I dig into, played with ipkg and then noticed that on ipkg filebot 4.5 it works while on any 4.6 it does not.

To prove it, I've just cleaned everything up, and installed 3 mentioned packages:
Image

and have the same problem:

Code: Select all

synek> filebot -script fn:sysinfo
FileBot 4.6 (r3052)
JNA Native: 4.0.0
MediaInfo: java.lang.UnsatisfiedLinkError: Unable to load library 'mediainfo': Native library (linux-x86/libmediainfo.so) not found in resource path ([file:/volume1/@appstore/filebot/FileBot.jar])
p7zip: Version 9.20 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,4 CPUs)
chromaprint-tools: fpcalc -version failed (/usr/local/chromaprint/bin/fpcalc)
Extended Attributes: OK
Groovy Engine: 2.4.3
JRE: Java(TM) SE Runtime Environment 1.8.0_45 (headless)
JVM: 32-bit Java HotSpot(TM) Client VM
CPU/MEM: 2 Core / 239 MB Max Memory / 11 MB Used Memory
OS: Linux (i386)
uname: Linux synek 3.10.35 #5565 SMP Mon May 11 02:12:55 CST 2015 x86_64 GNU/Linux synology_x86_712+
Done ăž(ďź âăźâďź )ă

Re: FileBot 4.6 on Synology

Posted: 02 Jun 2015, 16:01
by rednoah
Run this command and post the output:

Code: Select all

ls -l /usr/local/mediainfo/lib

Re: FileBot 4.6 on Synology

Posted: 02 Jun 2015, 16:03
by spz82

Code: Select all

synek> ls -l /usr/local/mediainfo/lib
lrwxrwxrwx    1 root     root            21 May 26 18:43 libmediainfo.so -> libmediainfo.so.0.0.0
lrwxrwxrwx    1 root     root            21 May 26 18:43 libmediainfo.so.0 -> libmediainfo.so.0.0.0
-rwxrwxrwx    1 root     root       6341080 May 26 18:44 libmediainfo.so.0.0.0
lrwxrwxrwx    1 root     root            13 May 26 18:22 libz.so -> libz.so.1.2.8
lrwxrwxrwx    1 root     root            13 May 26 18:22 libz.so.1 -> libz.so.1.2.8
-rwxrwxrwx    1 root     root        112328 May 26 18:44 libz.so.1.2.8
lrwxrwxrwx    1 root     root            15 May 26 18:22 libzen.so -> libzen.so.0.0.0
lrwxrwxrwx    1 root     root            15 May 26 18:22 libzen.so.0 -> libzen.so.0.0.0
-rwxrwxrwx    1 root     root        269880 May 26 18:44 libzen.so.0.0.0

Re: FileBot 4.6 on Synology

Posted: 02 Jun 2015, 16:11
by rednoah
1.
Then it should work but it doesn't. The library is broken. The executable might work, but the library is broken. Please report the problem => https://github.com/SynoCommunity/spksrc/issues

The fpcalc executable seems to be broken as well.

2.
Since You're on i386 Linux you can probably just use (extract) a working library from the official Linux releases or grab one from my repository. Then you just need to put it into the library path. See filebot.sh for details on that.

Same for the fpcalc executable if you need it. Just grab the official 32-bit Linux binary from AcoustID => https://acoustid.org/chromaprint

Re: FileBot 4.6 on Synology

Posted: 02 Jun 2015, 16:30
by spz82
are you sure?
how do you explain that libraries are loaded properly by filebot 4.5 installed from ipkg?
please see first code in first post - both MediaInfo and chromeprint are recognized properly by this version.


btw I did not change ANYTHING in terms of both packages before 4.6 upgrade...

Re: FileBot 4.6 on Synology

Posted: 02 Jun 2015, 16:37
by spz82
hmm just noticed that filebot 4.5 reports different MediaInfo version that installed from package:
MediaInfo: MediaInfoLib - v0.7.69 vs 0.7.73-2 in package details..

is it possible that filebot via ipkg also installs mediainfo?

Re: FileBot 4.6 on Synology

Posted: 02 Jun 2015, 16:39
by rednoah
FileBot 4.5 i386 ipk includes it's own fpcalc and libmediainfo binaries. That's why it works. That's why it says MediaInfo: MediaInfoLib - v0.7.69 and /opt/share/filebot/fpcalc in your first post even though you have "installed" a different version via SPKSRC.

The binaries that were previously included now have to be downloaded separately, as a last resort I suppose, if the SPKSRC builds don't work.

Re: FileBot 4.6 on Synology

Posted: 02 Jun 2015, 18:29
by spz82
I've installed FileBot 4.5 i686, but in general you are right, it has it's own libraries and fpcalc
I've adjusted filebot.sh (this one for 4.6) to make use of those libraries and now it looks like this:

Code: Select all

synek> cat /volume1/@appstore/filebot/filebot.sh
#!/bin/sh
PRG="$0"

# resolve relative symlinks
while [ -h "$PRG" ] ; do
  ls=`ls -ld "$PRG"`
  link=`expr "$ls" : '.*-> \(.*\)$'`
  if expr "$link" : '/.*' > /dev/null; then
    PRG="$link"
  else
    PRG="`dirname "$PRG"`/$link"
  fi
done

# make it fully qualified
WORKING_DIR=`pwd`
PRG_DIR=`dirname "$PRG"`
APP_ROOT=`cd "$PRG_DIR" && pwd`

# restore original working dir
cd "$WORKING_DIR"

# user per user app data location to avoid permission conflicts between root and admin users
APP_DATA="$APP_ROOT/data/$USER"

# add 3rd party packages to the library path by default
#SYNO_LIBRARY_PATH="/usr/local/mediainfo/lib"
SYNO_LIBRARY_PATH="/opt/share/filebot"

# add APP_ROOT to LD_LIBRARY_PATH
if [ ! -z "$LD_LIBRARY_PATH" ]
then
  export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$SYNO_LIBRARY_PATH:$APP_ROOT"
else
  export LD_LIBRARY_PATH="$SYNO_LIBRARY_PATH:$APP_ROOT"
fi

# force JVM language and encoding settings
export LANG="en_US.UTF-8"
export LC_ALL="en_US.UTF-8"

java -Djava.awt.headless=true -Dunixfs=false -DuseExtendedFileAttributes=true -DuseCreationDate=false -Dfile.encoding=UTF-8 -Djava.net.useSystemProxies=true -Dsun.net.client.defaultConnectTimeout=10000 -Dsun.net.client.defaultReadTimeout=60000 -Djna.nosys=true -Dapplication.deployment=spk -Dnet.filebot.Archive.extractor=SevenZipExecutable "-Dnet.filebot.Archive.7z=/usr/syno/bin/7z" "-Dnet.filebot.AcoustID.fpcalc=/opt/share/filebot/fpcalc" "-Dapplication.dir=$APP_DATA" "-Djava.io.tmpdir=$APP_DATA/temp" "-Duser.home=$APP_DATA" -Djava.util.prefs.PreferencesFactory=net.filebot.util.prefs.FilePreferencesFactory "-Dnet.filebot.util.prefs.file=$APP_DATA/prefs.properties" -jar "$APP_ROOT/FileBot.jar" "$@"

Now sysinfo seem to work as expected (with a little older Mediainfo and fpcalc):

Code: Select all

synek> filebot -script fn:sysinfo
FileBot 4.6 (r3052)
JNA Native: 4.0.0
MediaInfo: MediaInfoLib - v0.7.69
p7zip: Version 9.20 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,4 CPUs)
chromaprint-tools: fpcalc version 1.1.0 (/opt/share/filebot/fpcalc)
Extended Attributes: OK
Groovy Engine: 2.4.3
JRE: Java(TM) SE Runtime Environment 1.8.0_45 (headless)
JVM: 32-bit Java HotSpot(TM) Client VM
CPU/MEM: 2 Core / 239 MB Max Memory / 14 MB Used Memory
OS: Linux (i386)
uname: Linux synek 3.10.35 #5565 SMP Mon May 11 02:12:55 CST 2015 x86_64 GNU/Linux synology_x86_712+
Done ăž(ďź âăźâďź )ă
Thanks for your support and great tool.
Regards,

Re: FileBot 4.6 on Synology

Posted: 02 Jun 2015, 18:48
by rednoah
Now that you've confirmed that the spksrc packages don't work, please report the problem so it might get fixed for others. ;)

Re: FileBot 4.6 on Synology

Posted: 02 Jun 2015, 19:22
by spz82
done: https://github.com/SynoCommunity/spksrc/issues/1738

btw.
I've just realized that there is separete Synology & Embedded Linux forum. Please move this thread there. Sorry for making mess ;)

Re: FileBot 4.6 on Synology

Posted: 03 Jun 2015, 11:12
by Axel Foley
Confirmed. With the latest MediaInfo 0.7.73-2 (that installs libemediainfo.so) and Chromeprint 1.2-1 (that installs fpcalc), both the library (libmediainfo.so) and the utility (fpcalc) have issues.

I have a DS1812+ with DSM 5.2-5565. Here's the uname output:

[Wed Jun 03 12:59:10 root@nas:/volume1/@appstore/filebot]# uname -a
Linux nas 3.10.35 #5565 SMP Mon May 11 02:14:34 CST 2015 x86_64 GNU/Linux

@rednoah: I noticed that in the filebot.sh file there's a fixed path for fpcalc. It was driving me crazy because I put your fpcalc (from github) in /usr/local/bin but filebot wasn't picking it up. Then I found the chromeprint hard path in the script. Can I suggest to put that as an env variable in the script, as you do for the SYNO_LIBRARY_PATH, where I put the path to the libmediainfo.so downloaded from github.

Thanks a lot.

Re: FileBot 4.6 on Synology

Posted: 03 Jun 2015, 18:39
by AsCavaco
for me after i installed all the packages from syno comunity , the media info stoped working

Synology-1813> filebot -script fn:sysinfo
FileBot 4.6 (r3052)
JNA Native: 4.0.0
MediaInfo: java.lang.UnsatisfiedLinkError: Unable to load library 'mediainfo': Native library (linux-x86/libmediainfo.so) not found in resource path ([file:/volume1/@appstore/filebot/FileBot.jar])
p7zip: Version 9.20 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,4 CPUs)
chromaprint-tools: fpcalc version 1.1.0 (/usr/local/chromaprint/bin/fpcalc)
Extended Attributes: OK
Groovy Engine: 2.4.3
JRE: Java(TM) SE Embedded Runtime Environment 1.8.0_33 (headless)
JVM: 32-bit Java HotSpot(TM) Embedded Server VM
CPU/MEM: 4 Core / 878 MB Max Memory / 37 MB Used Memory
OS: Linux (i386)
uname: Linux Synology-1813 3.10.35 #5565 SMP Mon May 11 02:14:34 CST 2015 x86_64 GNU/Linux synology_cedarview_1813+
Done ヾ(@⌒ー⌒@)ノ


ony when i put the source rednoah gives in the repository it works again , is it because the syno packages are not working ???

Re: FileBot 4.6 on Synology

Posted: 03 Jun 2015, 19:08
by AsCavaco
Because i think on arm its working , look a friends ARM synology , that i installed using only syno comunity packages

NAS_Gouveia> filebot -script fn:sysinfo
FileBot 4.6 (r3052)
JNA Native: 4.0.0
MediaInfo: MediaInfoLib - v0.7.73
p7zip: Version 9.20 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,2 CPUs)
chromaprint-tools: fpcalc version 1.2.0 (/usr/local/chromaprint/bin/fpcalc)
Extended Attributes: OK
Groovy Engine: 2.4.3
JRE: Java(TM) SE Embedded Runtime Environment 1.8.0_33 (headless)
JVM: 32-bit Java HotSpot(TM) Embedded Client VM
CPU/MEM: 2 Core / 245 MB Max Memory / 11 MB Used Memory
OS: Linux (arm)
uname: Linux NAS_Gouveia 3.2.40 #5565 SMP Mon May 11 02:13:03 CST 2015 armv7l GNU/Linux synology_armadaxp_ds214+
Done ヾ(@⌒ー⌒@)ノ

On I386 , its not right ???

Re: FileBot 4.6 on Synology

Posted: 04 Jun 2015, 09:34
by AsCavaco
any guesses why on arm it works and on i386 it doesnt ???