Go Back   Cockos Incorporated Forums > REAPER Forums > REAPER for Linux

Reply
 
Thread Tools Display Modes
Old 08-09-2018, 02:11 PM   #1
bmentink
Human being with feelings
 
Join Date: Aug 2018
Posts: 26
Default Running reaper in a Linux chroot

Hi,

I am looking at options of running Reaper on my linux box, which is Alpine linux based, mainly because it is fast small and doesn't run systemd or pulse.

But, since it is based on uclibc not glibc, I can't run reaper, so I have setup an ArchLinux chroot, installed all the necessary stuff and installed reaper.

Problem is I get an error that it can't find "libSwell" even though it is right there in the same place as reaper executable .. Is there any way to get more debug messages to see what it really needs?

reaper under wine runs in the chroot, but the fonts are driving me mad ... and I would really prefer native linux .

Many thanks
bmentink is offline   Reply With Quote
Old 08-09-2018, 02:22 PM   #2
Jack Winter
Human being with feelings
 
Jack Winter's Avatar
 
Join Date: Aug 2007
Location: Luxembourg/Spain
Posts: 1,922
Default

You could try: LD_PRELOAD=/path/to/libSwell.so reaper

Regarding fonts in wine, you probably have to install some true type fonts.
__________________
Reaper for Linux Documentation (WIP). Software: Archlinux/KDE, Fabfilter FX, Komplete 8, Nebula, Schwa/Stillwell, T-racks Max/Amplitube/SVX, etc. Gear: i7-2600k/4700HQ/16GB, RME Multiface/Babyface, Behringer X32, Genelec 8040, etc. :)
Jack Winter is offline   Reply With Quote
Old 08-09-2018, 02:48 PM   #3
bmentink
Human being with feelings
 
Join Date: Aug 2018
Posts: 26
Default

Quote:
Originally Posted by Jack Winter View Post
You could try: LD_PRELOAD=/path/to/libSwell.so reaper
No luck, got:

ERROR: ld.so: object 'libSwell.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
Error loading 'libSwell.so': libSwell.so: cannot open shared object file: No such file or directory

Quote:
Regarding fonts in wine, you probably have to install some true type fonts.
Can you name a couple and where to get them? I am not a Windoze person ..
bmentink is offline   Reply With Quote
Old 08-09-2018, 03:06 PM   #4
Jack Winter
Human being with feelings
 
Jack Winter's Avatar
 
Join Date: Aug 2007
Location: Luxembourg/Spain
Posts: 1,922
Default

Try ttf-ms-fonts if your distro has it.
__________________
Reaper for Linux Documentation (WIP). Software: Archlinux/KDE, Fabfilter FX, Komplete 8, Nebula, Schwa/Stillwell, T-racks Max/Amplitube/SVX, etc. Gear: i7-2600k/4700HQ/16GB, RME Multiface/Babyface, Behringer X32, Genelec 8040, etc. :)
Jack Winter is offline   Reply With Quote
Old 08-09-2018, 03:41 PM   #5
bmentink
Human being with feelings
 
Join Date: Aug 2018
Posts: 26
Default

Quote:
Originally Posted by Jack Winter View Post
Try ttf-ms-fonts if your distro has it.
Hmm, that is for the Linux side, Windoze won't use that, it will need the same font but installed via wine, that is what I need to figure out ..

EDIT: I found the .exe versions of the windoze TTF's and installed them using wine, but no difference ..

The menu font still is nearly unreadable ..

Last edited by bmentink; 08-09-2018 at 04:38 PM.
bmentink is offline   Reply With Quote
Old 08-10-2018, 01:50 AM   #6
Jack Winter
Human being with feelings
 
Jack Winter's Avatar
 
Join Date: Aug 2007
Location: Luxembourg/Spain
Posts: 1,922
Default

As wine is a linux application it needs certain fonts installed on the Linux side. I seem to recall that installing the right fonts on the Linux side will fix your issue, but it was a real long time ago that I dealt with this..
__________________
Reaper for Linux Documentation (WIP). Software: Archlinux/KDE, Fabfilter FX, Komplete 8, Nebula, Schwa/Stillwell, T-racks Max/Amplitube/SVX, etc. Gear: i7-2600k/4700HQ/16GB, RME Multiface/Babyface, Behringer X32, Genelec 8040, etc. :)
Jack Winter is offline   Reply With Quote
Old 08-11-2018, 12:45 AM   #7
bmentink
Human being with feelings
 
Join Date: Aug 2018
Posts: 26
Default

I have got it better, I had to use the Regedit program to change some fonts ..

However, it still looks rubbish. I would really like to get the Linux version going in the chroot.

As originally asked, is there a way to get more debugging info from reaper to see what the issue is with libSwell?
bmentink is offline   Reply With Quote
Old 08-11-2018, 12:50 AM   #8
Jack Winter
Human being with feelings
 
Jack Winter's Avatar
 
Join Date: Aug 2007
Location: Luxembourg/Spain
Posts: 1,922
Default

"Error loading 'libSwell.so': libSwell.so: cannot open shared object file: No such file or directory"

This seems to indicate the problem?

Hmm, maybe a stupid idea, could it be i686 vs x86_64 related? Have you tried building your own libSwell?
__________________
Reaper for Linux Documentation (WIP). Software: Archlinux/KDE, Fabfilter FX, Komplete 8, Nebula, Schwa/Stillwell, T-racks Max/Amplitube/SVX, etc. Gear: i7-2600k/4700HQ/16GB, RME Multiface/Babyface, Behringer X32, Genelec 8040, etc. :)
Jack Winter is offline   Reply With Quote
Old 08-11-2018, 01:50 AM   #9
bmentink
Human being with feelings
 
Join Date: Aug 2018
Posts: 26
Default

With all respect, that error message tells me nothing. It could be something that libSwell needs that I don't have ... proper full debug messages would tell me that .. libSwell is there, so it's not as simple as that ..

.. and yes, I have compiled my own. I am running a 64bit system, I have tried the 64 bit download, I have also used Arch's AUR to compile my own ... all the same ...

The above steps all work on a "real" linux box, it is just running from a chroot that is the issue ..

Please, someone tell me how to get more debug information ...

PS: The following shows no missing libs for reaper:

ldd reaper
linux-vdso.so.1 (0x00007fffbb7bd000)
libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007fd898ed4000)
libdl.so.2 => /usr/lib/libdl.so.2 (0x00007fd898ecf000)
libasound.so.2 => /usr/lib/libasound.so.2 (0x00007fd898bef000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007fd898a60000)
libm.so.6 => /usr/lib/libm.so.6 (0x00007fd8988db000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007fd8988c1000)
libc.so.6 => /usr/lib/libc.so.6 (0x00007fd8986fb000)
/lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007fd898f0c000)
librt.so.1 => /usr/lib/librt.so.1 (0x00007fd8986f1000)

Last edited by bmentink; 08-11-2018 at 02:06 AM.
bmentink is offline   Reply With Quote
Old 08-11-2018, 05:07 AM   #10
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 15,721
Default

I dont think ldd will report missing libraries. I’ll see if I can get the libSwell loading to print better error messages...
Justin is offline   Reply With Quote
Old 08-11-2018, 01:27 PM   #11
bmentink
Human being with feelings
 
Join Date: Aug 2018
Posts: 26
Default

Quote:
Originally Posted by Justin View Post
I dont think ldd will report missing libraries. I’ll see if I can get the libSwell loading to print better error messages...
I would really appreciate that, as that problem has been reported many times, googling around ..
bmentink is offline   Reply With Quote
Old 08-11-2018, 09:37 PM   #12
bmentink
Human being with feelings
 
Join Date: Aug 2018
Posts: 26
Default

An update:

It seems reaper does not look in the current folder for the lib file, as I put libSwell in /usr/lib and the program worked (..sort off)

The program starts but it does not have any icons, only text where the icons woud be, also, when I try to insert a virtual instrument, there is nothing to select, in fact most things are missing.

I notice that the REAPER folder is installed to /usr/lib which seems a bit strange (That is when I tried it installed from the Arch AUR compiled package)

If that is the case how is the loader going to find libSwell anyway, unless it was somehow supposed to have been in the linker path?

Confused ...
bmentink is offline   Reply With Quote
Old 08-12-2018, 12:20 AM   #13
Jack Winter
Human being with feelings
 
Jack Winter's Avatar
 
Join Date: Aug 2007
Location: Luxembourg/Spain
Posts: 1,922
Default

Try this Archlinux build/install script instead: It uses the reaper install script and installs it more like reaper itself wants: https://aur.archlinux.org/packages/reaper-bin/ The old one will get deleted some day soon.

Though I doubt this will have anything to do with your problem.

I'd imagine that the idea is that reaper will look in the directory of the executable for libSwell.so. I've never tried to load it from anywhere else.
__________________
Reaper for Linux Documentation (WIP). Software: Archlinux/KDE, Fabfilter FX, Komplete 8, Nebula, Schwa/Stillwell, T-racks Max/Amplitube/SVX, etc. Gear: i7-2600k/4700HQ/16GB, RME Multiface/Babyface, Behringer X32, Genelec 8040, etc. :)
Jack Winter is offline   Reply With Quote
Old 08-12-2018, 01:30 AM   #14
bmentink
Human being with feelings
 
Join Date: Aug 2018
Posts: 26
Default

Thanks, but that did not work either, same issue.

Code:
Error loading 'libSwell.so': libSwell.so: cannot open shared object file: No such file or directory
bmentink is offline   Reply With Quote
Old 08-12-2018, 11:57 AM   #15
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 15,721
Default

Ah I just had a look why it fails in a chroot: in order to find libSwell it needs to read /proc/<pid>/exe ... any way you could include /proc in the chroot?
Justin is offline   Reply With Quote
Old 08-12-2018, 12:13 PM   #16
bmentink
Human being with feelings
 
Join Date: Aug 2018
Posts: 26
Default

Quote:
Originally Posted by Justin View Post
Ah I just had a look why it fails in a chroot: in order to find libSwell it needs to read /proc/<pid>/exe ... any way you could include /proc in the chroot?
Hi Justin,

Many thanks for looking into this, I know you are busy ..

As part of "Arch-chroot" script, it does a
Code:
mount -t proc -o nosuid,noexec,nodev
to /proc and it looks to be there in the chroot, what should I be seeing in /proc for reaper?

Is the mount correct? Maybe a mount bind is better with:
Code:
 sudo mount -o bind /proc ~/chroot/proc
 sudo mount -o bind,ro,remount /proc ~/chroot/proc
??

Last edited by bmentink; 08-12-2018 at 12:46 PM.
bmentink is offline   Reply With Quote
Old 08-13-2018, 07:58 AM   #17
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 15,721
Default

Quote:
Originally Posted by bmentink View Post
Hi Justin,

Many thanks for looking into this, I know you are busy ..

As part of "Arch-chroot" script, it does a
Code:
mount -t proc -o nosuid,noexec,nodev
to /proc and it looks to be there in the chroot, what should I be seeing in /proc for reaper?

Is the mount correct? Maybe a mount bind is better with:
Code:
 sudo mount -o bind /proc ~/chroot/proc
 sudo mount -o bind,ro,remount /proc ~/chroot/proc
??
If you execute:

Code:
ls -l /proc/self/exe
What do you see?

I'm adding some changes in 5.95pre6+ which will remove the dependency, if you run the reaper executable via its full path on the command line, if you want to try that.
Justin is offline   Reply With Quote
Old 08-13-2018, 05:42 PM   #18
bmentink
Human being with feelings
 
Join Date: Aug 2018
Posts: 26
Default

@Justin

ls -l /proc/self/exe

Code:
 
lrwxrwxrwx 1 bmentink wheel 0 Aug 14 00:40 /proc/self/exe -> /usr/bin/ls
Tried running via full path, no joy:

Code:
/home/bmentink/reaper/reaper_linux_x86_64/REAPER/reaper
bmentink is offline   Reply With Quote
Old 08-13-2018, 10:12 PM   #19
bmentink
Human being with feelings
 
Join Date: Aug 2018
Posts: 26
Default

Hi Justin,

I have cracked it: Instead of using the arch-chroot, I created my own script with the following contents, and it just worked.

Code:
    cp /etc/resolv.conf ~/chroot/root.x86_64/etc
    sudo mount --rbind /proc ~/chroot/root.x86_64/proc
    sudo mount --rbind /sys ~/chroot/root.x86_64/sys
    sudo mount --rbind /dev ~/chroot/root.x86_64/dev
    sudo mount --rbind /run ~/chroot/root.x86_64/run
    sudo chroot ~/chroot/root.x86_64/ /bin/su - <username>  -c 'DISPLAY=:0 reaper'
However, it takes over my sound card completely, so outside the chroot there is no sound .. any idea's? Do I have to use dmix?

Also, --rbind doesn't allow un-mounting (says resource busy) so you have to log out of session to umount everything .... guess I might try "mount -o bind"

Last edited by bmentink; 08-14-2018 at 01:09 AM.
bmentink is offline   Reply With Quote
Old 08-14-2018, 01:23 PM   #20
bmentink
Human being with feelings
 
Join Date: Aug 2018
Posts: 26
Default

@Justin

Everything works now from a chroot, except my midi device is not being seen, where it was in the wine/windoze version in the same chroot.

The alsa sequencer modules are definetely loaded so not sure what the issue could be ..

EDIT: aseqdump -p 128:0 shows correct data for my midi device, just does not show up in reaper .. (that is from within chroot of course )

Last edited by bmentink; 08-14-2018 at 10:22 PM.
bmentink is offline   Reply With Quote
Old 08-16-2018, 08:28 PM   #21
bmentink
Human being with feelings
 
Join Date: Aug 2018
Posts: 26
Default

Update:

midi is now working, as per my other thread:
https://forum.cockos.com/showthread....11#post2024111
bmentink is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 06:10 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.