realearn
realearn copied to clipboard
realearn failed to scan / plugin not loading
Hello,
I have downloaded realearn and installed it in all ways I can possibly think of (manually and via reapack). ReaPack installs and says to reboot reaper, but reaper fails to load the plug in every single try. I have also cleared the cache and rescanned for plugins.
how can I troubleshoot what is going wrong?
I am running it on latest reaper (6.42) in an AVL-MX machine (debian 10) and I am trying to install realearn 2.10.4.
any advice?
Which processor architecture?
Native or Wine?
native... I have it running perfectly in 2 machines already (those are ubuntustudio 20.04)
And processor architecture?
CPU: Topology: Dual Core model: Intel Core i5-3210M bits: 64 type: MT MCP arch: Ivy Bridge family: 6 model-id: 3A (58) stepping: 9 microcode: 21 L2 cache: 3072 KiB flags: avx lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 19935 Speed: 1248 MHz min/max: 1200/3100 MHz Core speeds (MHz): 1: 1327 2: 2891 3: 2010 4: 2893 64bits
Mmh okay. This kind of scanning issue is hard to troubleshoot. I also don't have a good recipe for that. Usually what I do is running REAPER with a debugger and putting some breakpoints there and going they get hit and then see where's the issue. You could also use the REAPER command line argument that writes plugin scanning logs to a file.
" You could also use the REAPER command line argument that writes plugin scanning logs to a file." how would I do that? I run repaer in the terminal but no log generated when scanned the vsts
I think you can run REAPER with -h to see its command line options. At least on Windows it outputs something related to logging. Can't try these days, I'm AFK.
ok, so this is what I get form that command line tool, but I don't find anything mentioning the failed plugins.
REAPER 6.42/linux-x86_64 log file writing begin (build Nov 16 2021 19:26:45; current time Thu 16 Dec 2021 10:37:40 AM -05) exe = /opt/REAPER/reaper, ini = /home/jrsv/.config/REAPER/reaper.ini Thu 16 Dec 2021 10:37:40 AM -05 [0]: splash window created Thu 16 Dec 2021 10:37:42 AM -05 [2020]: Initializing ReWire Thu 16 Dec 2021 10:37:42 AM -05 [2]: Initializing... Thu 16 Dec 2021 10:37:42 AM -05 [0]: Loading Configuration... Thu 16 Dec 2021 10:37:43 AM -05 [218]: Initializing Registration Info... Thu 16 Dec 2021 10:37:43 AM -05 [12]: Scanning VST plug-ins... Thu 16 Dec 2021 10:37:43 AM -05 [0]: Scanning LV2 plug-ins... Thu 16 Dec 2021 10:37:43 AM -05 [908]: Loading élastique Pro... Thu 16 Dec 2021 10:37:43 AM -05 [1]: Loading élastique 2 Pro... Thu 16 Dec 2021 10:37:43 AM -05 [0]: Loading élastique 3 Pro... Thu 16 Dec 2021 10:37:43 AM -05 [2]: Loading SoundTouch... Thu 16 Dec 2021 10:37:43 AM -05 [0]: Loading JS... Thu 16 Dec 2021 10:37:43 AM -05 [4]: Scanning MIDI hardware... Thu 16 Dec 2021 10:37:44 AM -05 [56]: Initializing Application... Thu 16 Dec 2021 10:37:44 AM -05 [1]: Initializing Main Window... Thu 16 Dec 2021 10:37:44 AM -05 [1]: Loading native plug-ins... Thu 16 Dec 2021 10:37:44 AM -05 [0]: Loading plug-in: reaper_mp3dec.so Thu 16 Dec 2021 10:37:44 AM -05 [1]: Loading plug-in: reaper_flac.so Thu 16 Dec 2021 10:37:44 AM -05 [0]: Loading plug-in: reaper_opus.so Thu 16 Dec 2021 10:37:44 AM -05 [0]: Loading plug-in: reaper_explorer.so Thu 16 Dec 2021 10:37:44 AM -05 [1]: Loading plug-in: reaper_cd.so Thu 16 Dec 2021 10:37:44 AM -05 [0]: Loading plug-in: reaper_ogg.so Thu 16 Dec 2021 10:37:44 AM -05 [0]: Loading plug-in: reaper_wavpack.so Thu 16 Dec 2021 10:37:44 AM -05 [0]: Loading plug-in: reaper_video.so Thu 16 Dec 2021 10:37:44 AM -05 [81]: Loading plug-in: reaper_csurf.so Thu 16 Dec 2021 10:37:44 AM -05 [2]: Loading plug-in: reaper_ddp.so Thu 16 Dec 2021 10:37:44 AM -05 [0]: Loading plug-in: reaper_wave.so Thu 16 Dec 2021 10:37:44 AM -05 [0]: Loading plug-in: reaper_midi.so Thu 16 Dec 2021 10:37:44 AM -05 [1]: Initializing Main Window... Thu 16 Dec 2021 10:37:44 AM -05 [15]: Initializing Control Surfaces... Thu 16 Dec 2021 10:37:44 AM -05 [3]: Initializing Main Window... Thu 16 Dec 2021 10:37:44 AM -05 [87]: Loading AG-DELL-rescue.RPP... Thu 16 Dec 2021 10:37:44 AM -05 [53]: Loading project... Thu 16 Dec 2021 10:37:44 AM -05 [3]: Project: loading effect: LV2: Calf X-Over 4 Band (Calf Studio Gear) Thu 16 Dec 2021 10:37:44 AM -05 [6]: Project: loaded: LV2: Calf X-Over 4 Band (Calf Studio Gear) Thu 16 Dec 2021 10:37:44 AM -05 [1]: Project: loading effect: LV2: Calf Limiter (Calf Studio Gear) Thu 16 Dec 2021 10:37:44 AM -05 [2]: Project: loaded: LV2: Calf Limiter (Calf Studio Gear) Thu 16 Dec 2021 10:37:44 AM -05 [0]: Project: loading effect: LV2: Calf Limiter (Calf Studio Gear) Thu 16 Dec 2021 10:37:44 AM -05 [0]: Project: loaded: LV2: Calf Limiter (Calf Studio Gear) Thu 16 Dec 2021 10:37:44 AM -05 [0]: Project: loading effect: LV2: MDA Limiter Thu 16 Dec 2021 10:37:44 AM -05 [2]: Project: loaded: LV2: MDA Limiter Thu 16 Dec 2021 10:37:44 AM -05 [1]: Project: loading effect: LV2i: Surge (Surge Synth Team) Thu 16 Dec 2021 10:37:44 AM -05 [55]: Project: loaded: LV2i: Surge (Surge Synth Team) Thu 16 Dec 2021 10:37:44 AM -05 [0]: Project: loading effect: LV2i: Helm (Matt Tytel) Thu 16 Dec 2021 10:37:44 AM -05 [58]: Project: loaded: LV2i: Helm (Matt Tytel) Thu 16 Dec 2021 10:37:44 AM -05 [0]: Project: loading effect: LV2i: ZynAddSubFX (ZynAddSubFX Team) Thu 16 Dec 2021 10:37:44 AM -05 [132]: Project: loaded: LV2i: ZynAddSubFX (ZynAddSubFX Team) Thu 16 Dec 2021 10:37:44 AM -05 [3]: Project: loading complete Thu 16 Dec 2021 10:37:44 AM -05 [7]: (empty) Thu 16 Dec 2021 10:37:45 AM -05 [915]: splash window destroyed
It seems it only creates logs for some specific in house plugins at startup and the ones loaded in the file. I tried copying realearn to /opt/ folder with the native plugins from reaper to see if it generated any logs but no luck.
There should be a line mentioning ReaLearn in the vstplugins64.ini file in the REAPER resource dir (or similar name). You can delete it and REAPER will rescan.
@JRSV Any new insights on this one?
sorry for the delay, just had time now.
this is what I have (I marked it in bold, realearn is there):
[vstcache] reacast.vst.so=0014252EDCF1D701,1919246691,ReaCast (Cockos) reacomp.vst.so=0014252EDCF1D701,1919247213,ReaComp (Cockos) reacontrolmidi.vst.so=0014252EDCF1D701,1919118692,ReaControlMIDI (Cockos) readelay.vst.so=0014252EDCF1D701,1919247468,ReaDelay (Cockos) reaeq.vst.so=0014252EDCF1D701,1919247729,ReaEQ (Cockos) reafir.vst.so=0014252EDCF1D701,1919247986,ReaFir (FFT EQ+Dynamics Processor) (Cockos) reagate.vst.so=0014252EDCF1D701,1919248244,ReaGate (Cockos) reainsert.vst.so=0014252EDCF1D701,1919250281,ReaInsert (Cockos) ReaLearn_x64.so=8089A90DDDF1D701 realimit.vst.so=0014252EDCF1D701,1919708532,ReaLimit (Cockos) reaninjam.vst.so=0014252EDCF1D701,1919250026,ReaNINJAM (Cockos) reapitch.vst.so=0014252EDCF1D701,1919250531,ReaPitch (Cockos) reasamplomatic.vst.so=0014252EDCF1D701,1920167789,ReaSamplOmatic5000 (Cockos)!!!VSTi reastream.vst.so=0014252EDCF1D701,1920169074,ReaStream (Cockos) (8ch) reasurround.vst.so=0014252EDCF1D701,1920168548,ReaSurround (Cockos) reasurround2.vst.so=0014252EDCF1D701,1920168498,ReaSurroundPan (Cockos) reasyndr.vst.so=0014252EDCF1D701,1919251300,ReaSynDr (Cockos) (4 out)!!!VSTi reasynth.vst.so=0014252EDCF1D701,1919251321,ReaSynth (Cockos)!!!VSTi reatune.vst.so=0014252EDCF1D701,1919251566,ReaTune (Cockos) reaverb.vst.so=0014252EDCF1D701,1919252066,ReaVerb (Cockos) reaverbate.vst.so=0014252EDCF1D701,1920361016,ReaVerbate (Cockos) reavocode.vst.so=0014252EDCF1D701,1919252068,ReaVocode (Cockos) reavoice.vst.so=0014252EDCF1D701,1919252067,ReaVoice (Cockos) reaxcomp.vst.so=0014252EDCF1D701,1919252579,ReaXcomp (Cockos) Stochas.vst3=00B67882D248D701,1377263251,Stochas (Surge Synth Team)!!!VSTi tonespace.so=009411FC3CE5CB01
If you delete that line and restart REAPER with log file writing on, REAPER should rescan and maybe it will print some reason why ReaLearn couldn't be loaded. Or maybe not, it's unfortunately hard to troubleshoot.
that is what I did. :( annoying, I can see reaper scan it, but it just wont load it, which is a shame because the plugin is fantastic
I'll leave that ticket as a marker to do two things:
- Test ReaLearn on Debian (because it sounds like you have this error with Debian only, not with Ubuntu)
- Try to research and improve error logging on initial scan
I can't give this too much priority now because other things are in the pipeline already. Let's see.
Thanks @helgoboss
Ok, I tested latest REAPER + latest ReaLearn on a Debian VM and it works. Mmh. I don't know what to do about this one.
@JRSV Justin recommends to check if ReaLearn appears in prefs/vst as a failed plug-in when clicking the rescan button? I think we already made sure that it does. So, if it appears there, do this:
- Re-run REAPER from the terminal.
- Select ReaLearn in above mentioned failed plug-in list.
- Check what it prints to the terminal and send that to me.
hello @helgoboss
did this but terminal did not print anything new when I select it from the failed plug-in. This is what I get when I first run reaper from terminal
./reaper jack: created client jack: setting TIME_CRITICAL = 4 jack: activated client lo server running on 15639 createBinding(0, /Volume, false) createBinding(1, /Volume, false) createBinding(2, /Volume, false) createBinding(3, /Volume, false)
Oh no. You don't happen to have this system as a kind of VM, do you? Probably not.
Alternative: Are you a bit familiar with programming? You could actually build ReaLearn yourself (that part is pretty easy) and use debugging to find out what's wrong (that part is a bit less easy but I could help you with it).
No, not a VM lets hold on that idea, I am first going to upgrade my AVlinux - MX (debian 10) to the latest (debian 11) and see if that fixes this problem. I have it on my agenda for this week. Will get back to you then.
I am a bit familiar with programming, so that is also an option, but lets go through that bridge when it really comes to it.
cheers
Hey @JRSV, still having this issue? I know something that you can try to at least get a small clue what the error could be.
I suspect that REAPER can't load ReaLearn in your case because a dependency is missing on your particular Linux installation (a shared library or just a symbol in a shared library). For some reason, REAPER doesn't report details about such errors, it just seems to swallow them (at least on macOS I just made this experience). However, we can try to load the ReaLearn SO file outside of REAPER and see what's the problem. So if you still get this error, please do the following:
-
Create a temporary directory, e.g.
/tmp/realearn-test
. -
Copy the problematic ReaLearn SO file (the one which doesn't load in REAPER) into that directory as
realearn.so
.- That SO file should be in
REAPER_RESOURCE_DIR/UserPlugins/FX
- The REAPER resource directory can be found by clicking on Options => Show REAPER resource path ..." in REAPER.
- That SO file should be in
-
Then write a very short C program
/tmp/realearn-test/test.c
that attempts to load the SO file:#include<stdio.h> #include <dlfcn.h> int main() { printf("Test\n"); dlopen("./realearn.so", RTLD_NOW); printf("%s", dlerror()); return 0; }
-
Compile and run the program from the terminal:
cd /tmp/realearn-test gcc -o test test.c ./test
-
Let me know about the output. I hope it says something about missing symbols or libraries.
Dear @helgoboss
I now finally have updated my OS (just last week). and the plugin loads now in reaper, I havent had a chance to test it, but this looks much more promising than before. I will close this issue, and let you know if it works when I can properly test it.
Thanks @JRSV. I asked another user in the REAPER forums who had the same issue and he already tried this on his system (https://forum.cockos.com/showpost.php?p=2615278&postcount=13). Now the cause is clear. I'll reopen this and see if we can do something about it or not.
This is the cause, at least on the system of akademie:
/lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by ./realearn.so)mint@mint /tmp/realearn-test
@helgoboss
yes, I think that: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29'
might indeed be the cause, Debian 10 had this outdated, Debian 11 has it updated, so I would also think that is the issue
Some things to look into (not enough knowledge about glibc stuff at the moment):
- Quick search shows that it could help to build against an older glibc version (https://github.com/rust-lang/rust/issues/57497), e.g. within a container. We already use containers for cross compilation to arm targets, maybe it makes sense for x64 as well.
- Quick search shows that targeting musl could be interesting as well (https://blog.rust-lang.org/2022/08/01/Increasing-glibc-kernel-requirements.html).
- It's not necessarily the Rust standard library which requires such a high glibc version, it could be any of the dependencies. Maybe good to find out which one.
Hey, thank you, this helped, it's working now ! For the record, this was the output of my test program, as described in the thread above :
libxdo.so.3: cannot open shared object file: No such file or directory
After googling this, I installed the missing library on my Ubuntu Studio with this command that I found online :
sudo apt-get install -y libxdo-dev
I restarted my shell, and the test program had no more errors. And the plugin scanned correctly in Reaper !
Thank you very much, hope this helps.
Oh right, libxdo-dev! I remember someone mentioned this in the past. I need to document that somehow. Will do it.
I don't think this will fix the glibc error mentioned in this ticket, so it's more related to your other ticket, #797.
Note to self: Try linking libc statically and check negative side effects.
hello @helgoboss ,
today for some strange reason I couldn't load realearn in the middle of a seminar which I wanted to showcase it... such a shame... anyway it is strange because after updating my OS to debian 11 as in this response the problem stopped.
So I compiled and ran the ./test program with the prompt returning: $ ./test Test /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by ./realearn.so)
I also checked my version and it is
ldd --version ldd (Debian GLIBC 2.31-13+deb11u5) 2.31
so I don't know why was I able to find it when I update the OS, I suspect that it maybe has to do to updates compiled against your version of glibc? How is that container idea going? would realearn work if I compile it against my system?