Yabridge not working in Arch

When I load an Ardour project with a yabridge vst3, Ardour throws up an error “failed to load plugin host”. It suggest running Ardour from a terminal and rescanning plugins for more info but the terminal does not give any clues about the problem.
I recently updated my Mint system which had wine-staging held back at 9.21 and I accidentally updated to the newest version but the yabridge Vsts still worked. In Arch they are not working with 9.21 or 10.12.
I have yabridge installed from the version in the Arch repos which is maintained by Robert, the developer of Yabridge. I noticed that an update went through the other day so I downgraded to the previous version which did the same. The last update before that was in March and I’m not sure if I loaded a project with windows plugins on that system in that time frame. I didn’t have time to try downgrading further but that will be my next step unless someone else has any ideas.
Like I said, it works perfectly in Mint but I prefer to use Arch as I can get better performance.

Same here (with Manjaro in my case). 32-Bit VST stopped working a few weeks ago, since yesterday 64-Bit and VST3 stopped working, too.
[Wine STDERR] /bin/sh: symbol lookup error: /bin/sh: undefined symbol: rl_print_keybinding is the message.

This is probably from the readline library. Did this get updated recently? Are you sure you re-compiled yabridge when downgrading to a previous version?

Maybe wine-staging needs to be rebuilt against a new readline version?

I think you might be onto something regarding readline. I will try downgrading when I get a minute.

Downgrading readline borked my system. I can’t boot and when I try to chroot to upgrade readline I get /bin/bash: symbol lookup error: /bin/bash: undefined symbol: rl_print_keybinding.

I have the package for the most recent readline in my cache. Would it work to just copy the contents to the damaged system and overwrite the other files

The files would be libreadline.so.8.3 and libhistory.so.8.3 with symlinks named libreadline.so and libreadline.so.8 and libhistory.so and libhistory.so.8 to it. Well, you can’t make it worse now, so give it a try ;).

There might arise a problem with a missing ldconfig call during installation (the deb installer would do that).

It may work, but the usual approach for such breakage would be to run a live system from USB, mount the broken /, loop mount /proc, /sys and /dev, chroot into it, and reinstall libreadline from within the chroot.

That’s just a quick outline of the process from my memory, I’ve done it several times following openSUSE docs for fixing grub problems and similar… you can find lots of howtos for this kind of system repair in the interwebs.

Oh, I just discovered that at least VST3 does work in a self-compiled Ardour (8.12). In the official version it doesn’t. Weird. VST2 still doesn’t work.

I ended up restoring from a backup of the partition that made with Gparted. Learned my lesson. Still trying to get yabridge working.I tried building wine staging from git and that didn’t help.Right now I’m building wine staging 9.21. Will see how that goes.

I found a workaround on the Yabridge issue tracker for anyone trying to use Yabridge on Arch.

“Based on my very limited knowledge I assume that this issue is caused by a new version of the readline package that was added to the arch repos on July 14th. I’ve worked out a temporary workaround which is to downgrade all packages to a date before that version of readline was added (I’ve done July 10th) using the instructions outlined here: Arch Linux Archive - ArchWiki. This works for the time being but is obviously not ideal in the long term.”

Hi there. I discovered this thread by following a chain of links from one bug tracker to the next. (I can’t share more than two links as I am a new user.)

After coming across the same error myself (in a completely different context) and doing some digging, as well as discussing it upstream on the bug-readline mailing list, I think the problem is not actually due to readline updating per se. Instead, this is due to bash updating as well, and the new bash version requiring the new readline version. In other words:

  • If bash updates to 5.3 (as it would on bleeding edge Arch), but readline doesn’t update to 8.3, then this error can occur.
  • This error can also occur if LD_LIBRARY_PATH is set to a lib directory containing an older version of readline. Then, the linker may dynamically link this old(er) version of readline to the new version of bash, hence the error.
  • EDIT: Additionally, it seems like this occurred specifically due to an out of date copy of readline for Ardour specifically within /opt/Ardour-8.12.0/lib. See: yabridge#442

To solve this issue, make sure that readline is up to date (>=8.3) and that LD_LIBRARY_PATH is not set globally. :slight_smile:

Cheers!

2 Likes

Thanks for digging in to this issue, and reporting your results!

Thanks for posting that

This didn’t work for me. LD_LIBRARY_PATH is not set globally and after symlinking libreadline.so to the ver of readline in /usr/lib as in the Yabridge post, Ardour crashes when loading with an error that it couldn’t load the wine plugin host and to check yabridge’s output. Different from the previous error where Ardour was able to load but put a stub for the windows plugin and when scanning for plugins gave the error about not being able to load the windows plugin host.Also Yabridge still can’t scan for new plugins. I don’t think the version of readline in Ardour would have anything to do with Yabridge not working. Maybe it’s not actually a problem with readline as it’s not a dependency of Yabridge or Wine.

Trying to build Yabridge from git fails. Maybe this is a clue.
“/usr/bin/ld: warning: creating DT_TEXTREL in a shared object
collect2: error: ld returned 1 exit status
winegcc: /usr/bin/g++ failed
ninja: build stopped: subcommand failed.”

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.