22
edits
(Note about InternalError when using --auth) |
(Updated for build 6248) |
||
Line 1: | Line 1: | ||
[[Avdump2]] was developed on Windows, for Windows. Thanks to Mono it’s possible to run Avdump2 on Linux and all efforts are made to support all | [[Avdump2]] was developed on Windows, for Windows. Thanks to Mono it’s possible to run Avdump2 on Linux and all efforts are made to support all features on Linux as well, but handling every peculiarity of every Mono version on every Linux installation is beyond the scope of Avdump2 at this time. Therefore, some things just don’t work on Linux, or at least not right away, without some workarounds. | ||
This page is a collection of various workarounds and suggestions that should help you get started with Avdump2 on Linux. If you need more assistance, try to catch [[User:catweax|CatWEax]] on IRC. | This page is a collection of various workarounds and suggestions that should help you get started with Avdump2 on Linux. If you need more assistance, try to catch [[User:catweax|CatWEax]] on IRC. | ||
Line 13: | Line 13: | ||
Try making the file executable. If that doesn’t work, call it using the <tt>mono</tt> Interpreter: <tt>mono Avdump2CL.exe</tt> | Try making the file executable. If that doesn’t work, call it using the <tt>mono</tt> Interpreter: <tt>mono Avdump2CL.exe</tt> | ||
''' | '''OutOfMemory exceptions''' | ||
On 32 bit systems Avdump2 sometimes dies with that error when processing many files at once due to heap memory fragmentation. If you use a donelog you can just restart Avdump2 and it’ll continue from where it crashed. | |||
=== libMediaInfo === | === libMediaInfo === | ||
Avdump2 only works with the libMediaInfo it comes with. If it can’t find that you will usually get '' | Avdump2 only works with the libMediaInfo it comes with. If it can’t find that you will usually get ''MediaInfoLib is missing''. It might start with a different version from elsewhere on your system, but then you’ll run into odd errors when you try to dump a file. | ||
There are many possible causes if the library can’t be found. | There are many possible causes if the library can’t be found. | ||
Line 32: | Line 32: | ||
'''Hashing works but I can’t dump anything''' | '''Hashing works but I can’t dump anything''' | ||
If you modified ''any'' of the required files Avdump2 came with, you will | If you modified ''any'' of the required files Avdump2 came with, you will either get a version error or several timeouts and no meaningful error message. So no, you can’t edit the config file either. | ||
== Workarounds == | == Workarounds == | ||
''' The cursor caret is gone and output resumes at the far right edge of the terminal window when I abort Avdump2 with ^C or it exits with some error.''' | '''The cursor caret is gone and output resumes at the far right edge of the terminal window when I abort Avdump2 with ^C or it exits with some error.''' | ||
Avdump2 doesn’t reset the console properly when you abort it or when it runs into a Mono-specific error. You can restore the cursor with <tt>setterm -cursor on</tt> and a simple <tt>echo</tt> if you write a wrapper for that. See examples below. | Avdump2 doesn’t reset the console properly when you abort it or when it runs into a Mono-specific error. You can restore the cursor with <tt>setterm -cursor on</tt> and a simple <tt>echo</tt> if you write a wrapper for that. See examples below. | ||
'''Can’t write log files to relative paths''' | |||
Donelogs and the other options that create or update text files assume relative paths to be relative to Avdump2’s home directory. If you installed Avdump2 outside your home directory you most likely don’t have write permission there and writing the log will fail. With the <tt>--UseCWD</tt> option you can make relative paths relative to the current working directory. Absolute paths are also an option to place the logs where you have write permissions. | |||
== Wrapper Script == | == Wrapper Script == | ||
Line 48: | Line 50: | ||
#!/bin/bash | #!/bin/bash | ||
AVDUMP2_HOME=/usr/local/lib/avdump2 | |||
export LD_LIBRARY_PATH=${AVDUMP2_HOME} | |||
# If libMediaInfo still can't be found, uncomment this. | # If libMediaInfo still can't be found, uncomment this. | ||
#export MONO_PATH=$ | #export MONO_PATH=${AVDUMP2_HOME} | ||
if ! mono | if ! mono ${AVDUMP2_HOME}/AVDump2CL.exe "$@" ; then | ||
echo | echo | ||
setterm -cursor on | setterm -cursor on | ||
Line 64: | Line 68: | ||
'''Avdump2 corrupts the terminal or crashes with a ''DisplayBuffer'' error when I resize the terminal window.''' | '''Avdump2 corrupts the terminal or crashes with a ''DisplayBuffer'' error when I resize the terminal window.''' | ||
The output routine used to draw the Avdump2 progress bars is not very compatible with | The output routine used to draw the Avdump2 progress bars is not very compatible with Mono’s absolutely positioned terminal output. Enlarging the terminal window usually results in writing over previous lines and shrinking the terminal window usually results in crashes because Avdump2 tries to write to areas that don’t exist anymore. | ||
Solutions: Don’t resize the terminal window while Avdump2 is running or use the <tt>-q</tt> option to disable the progress bars. | Solutions: Don’t resize the terminal window while Avdump2 is running or use the <tt>-q</tt> option to disable the progress bars. | ||
'''Inconsistent exit codes''' | |||
Avdump2 exits with a return code of 0 on some errors, so don’t rely on the return code. It exits with a non-zero code on most serious errors, though. |
edits