teragonaudio / MrsWatson

A command-line VST plugin host
http://teragonaudio.com/MrsWatson.html
Other
486 stars 101 forks source link

linux version not working (or missing docs?) #254

Closed coderofsalvation closed 4 years ago

coderofsalvation commented 8 years ago

I got a bunch of VST's compiled for linux, but it's giving me no worky :/ any suggestions?

$ uname -a
Linux peach 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1+deb8u3 (2015-08-04) x86_64 GNU/Linux
$ cat /etc/issue
Debian GNU/Linux 8 \n \l

$ which mrswatson
/usr/local/bin/mrswatson

$ ls -la /usr/local/bin/mrswatson
lrwxrwxrwx 1 root staff 36 Oct 28 10:36 /usr/local/bin/mrswatson -> /opt/MrsWatson/bin/Linux/mrsw
atson64

$ ls -a
drwxr-xr-x 12 sqz sqz 4.0K Oct 28 10:32 .
drwxr-xr-x  3 sqz sqz 4.0K Oct 28 10:08 tunefish
drwxr-xr-x  3 sqz sqz 4.0K Oct 28 09:41 pizmidi
drwxr-xr-x  3 sqz sqz 4.0K Oct 28 09:38 oxe
drwxr-xr-x  5 sqz sqz 4.0K Oct 28 09:31 ..
drwxr-xr-x  2 sqz sqz 4.0K Oct 28 09:30 GVst
drwxr-xr-x  4 sqz sqz 4.0K Oct 25  2014 electribe-vstx
drwxr-xr-x  3 sqz sqz 4.0K Sep 22  2014 dexed-linux64bit
drwxr-xr-x 11 sqz sqz 4.0K Aug 26  2014 tal-plugins-linux64bit
drwxr-xr-x  3 sqz sqz 4.0K Aug 26  2014 vex-linux64bit
drwxr-xr-x  4 sqz sqz 4.0K Aug 26  2014 distrho-nekobi-linux64bit
drwxr-xr-x  2 sqz sqz 4.0K Feb 17  2013 argotlunar-2.06-linux_64
-rwxr-xr-x  1 sqz sqz 234K Feb 16  2016 VstSpeek3.so

$ mrswatson --verbose --list-plugins                                                             
- 00000000 000000 Location '/mnt/data/home/sqz/.radium/vst', type VST 2.x:
D 00000000 000001 Checking item '/mnt/data/home/sqz/.radium/vst/pizmidi'
ERROR: Sent signal 11, exiting
MrsWatson (or one of its hosted plugins) has encountered a serious error and
crashed.
If you believe this to be a bug in MrsWatson, please re-run the program with
the --error-report option to generate a diagnostic report to send to support.

$
nikreiman commented 8 years ago

Hi @coderofsalvation, it seems that something might be wrong with the pizmidi plugin. You might try moving it out of the way just to see that the other ones are correctly detected. Also maybe try re-running mw with the --error-report option and attach the corresponding report. I don't have a Linux machine at the moment but I will try to investigate it next time I'm on my Windows box with a Linux VM.

coderofsalvation commented 8 years ago

Hm I think it's not the pizmidi plugin, as it happens even without any plugins installed. mrswatsontest seems to run fine.

$ ls -la $(which mrswatson)
lrwxrwxrwx 1 root staff 36 Oct 28 10:36 /usr/local/bin/mrswatson -> /opt/MrsWatson/bin/Linux/mrswatson64

$ mrswatson --list-plugins
- 00000000 000000 Location '/mnt/data/home/sqz/.vst', type VST 2.x:
ERROR: Sent signal 11, exiting
MrsWatson (or one of its hosted plugins) has encountered a serious error and
crashed.
If you believe this to be a bug in MrsWatson, please re-run the program with
the --error-report option to generate a diagnostic report to send to support.

$ mrswatson --list-plugins --error-report
=== Starting error report ===
MrsWatson is now running in error report mode, which will generate a report on
your desktop with any input/output sources and error logs. This also enables
some extra arguments and will disable console logging.

ERROR: Sent signal 11, exiting

=== Error report complete ===
Created error report at /home/sqz/Desktop/MrsWatson-Report-Tue-Nov--1-09-13-51-2016
Please compress and email the report to: support@teragonaudio.com
Thanks!

The log file

$ cat  /home/sqz/Desktop/MrsWatson-Report-Tue-Nov--1-09-13-51-2016/
log.txt  run.sh   

$ cat  /home/sqz/Desktop/MrsWatson-Report-Tue-Nov--1-09-13-51-2016/log.txt 
- 00000000 000015 Location '/mnt/data/home/sqz/.vst', type VST 2.x:
D 00000000 000015 Checking item '/mnt/data/home/sqz/.vst/developer'
ERROR: Sent signal 11, exitingtes

SUSPECT #1: core dump

Im on 64bit, but the same happens with mrswatson. One clue is seen when running both mrswatsontest and mrswatsontest64:

  SetSamples16BitBigEndian: OK
  SetSamples16BitLittleEndian: OK
  SetSamples16BitStereo: OK
  SetSamples24BitBigEndian: OK
  SetSamples24BitLittleEndian: OK
  SetSamples32BitBigEndian: OK
  SetSamples32BitLittleEndian: OK
Running tests in PlatformInfo
  GetPlatformType: Segmentation fault  (core dumped)                <-----------------------

Inspecting coredump

$ gdb ./mrswatson64                                                                             
GNU gdb (Debian 7.7.1+dfsg-5) 7.7.1
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./mrswatson64...(no debugging symbols found)...done.
(gdb) core core
warning: core file may not match specified executable file.
[New LWP 2594]
Core was generated by `./mrswatsontest64'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00000000004217a7 in ?? ()                                              <---- not much help either

SUSPECT #2: missing library

$ ldd mrswatson64 
        linux-vdso.so.1 (0x00007ffd4b1a1000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f360aa4d000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f360a74c000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f360a3a1000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f360ac51000)
 $ ls -la /lib64/ld-linux-x86-64.so.2 
lrwxrwxrwx 1 root root 32 Sep  5 08:09 /lib64/ld-linux-x86-64.so.2 -> /lib/x86_64-linux-gnu/ld-2.19.so

everything seems present. (linux-vdso is a virtual linker-thingie which is never present on a filesystem)

bikubi commented 7 years ago

Same here, on Arch, installed from AUR

Linux xzzo 4.12.13-1-ARCH #1 SMP PREEMPT Fri Sep 15 06:36:43 UTC 2017 x86_64 GNU/Linux

MrsWatson version 0.9.8, build 20150122

UPDATE: whoops, got it to work by specifying an absolute plugin path, like so:

mrswatson64 -m test.mid -p /usr/lib/vst/amsynth_vst.so -o test.wav

...so might be unrelated, or this is about the file scan process (--list-plugins doesn't work).

williamsharkey commented 5 years ago

Source/base/platform.c may read /etc/lsb-release for system info for Linux. I am not sure if Peach Linux has this file, or if it only has /etc/os-release

jussisaurio commented 5 years ago

@williamsharkey this is indeed causing a crash

williamsharkey commented 5 years ago

If someone has a Linux system they want to debug, it might be a good exercise to see if you can clone and build this project. If there are issues getting it to compile, remove everything except the base/platform test. Let me know if you get this working as there are some parts of platform.c I have questions about and would like to break down.

For what it’s worth, the Linux version works on Ubuntu 16 (and probably all newer ones as well)

noobiek commented 4 years ago

Hi all. Ubuntu 18.04 works well.

nikreiman commented 4 years ago

I'm closing this issue, since it seems to be plugin-related (and also quite old). As noted, newer Ubuntu versions (among others) work fine.