Trouble building/running SL on Raspberry Pi/Raspbian Buster

Talk about building the software from source code, and any issues related.

Moderator: jesse

Post Reply
Digital Larry
Posts: 13
Joined: Tue Mar 26, 2019 11:54 am

Trouble building/running SL on Raspberry Pi/Raspbian Buster

Post by Digital Larry »

First let me sing praises loud and clear for Jesse Chappell, the guy who initially wrote SooperLooper. The first release was 15 years ago and while the UI isn't beautiful, I've managed to get better results with this than many other packages or hardware pedals. The way my musical mind works, I cannot tolerate high levels of complexity, which way too many music making apps have on tap. tap? :D sorry.

I managed to compile SooperLooper under Ubuntu Studio, and I found a couple things that needed changing which I documented on the SooperLooper forum here:

viewtopic.php?f=20&t=5006&p=7287#p7287

I still had to make the change to build rubberband, while fftw3 didn't have any problems compiling this time.

Now, here's what happens when I run sooperlooper (just the engine part) on my Pi:

Code: Select all

pi@raspberrypi:~ $ sooperlooper
SooperLooper 1.7.3
Copyright 2007 Jesse Chappell
OSC server URI (network) is: osc.udp://raspberrypi:9952/

(no errors)

Here's what I get when trying to run slgui:

Code: Select all

pi@raspberrypi:~/Downloads/sooperlooper/src/gui $ which slgui
/usr/local/bin/slgui
pi@raspberrypi:~/Downloads/sooperlooper/src/gui $ ls -l $(which slgui)
-rwxr-xr-x 1 root root 15424652 Nov 10 06:19 /usr/local/bin/slgui
pi@raspberrypi:~/Downloads/sooperlooper/src/gui $ slgui
slgui: our URL is osc.udp://raspberrypi:17056/
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  12 (X_ConfigureWindow)
  Value in failed request:  0x0
  Serial number of failed request:  1046
  Current serial number in output stream:  1048
pi@raspberrypi:~/Downloads/sooperlooper/src/gui $ 
I did a web search on this error and seems like it has something to do with the X subsystem. It's not specific to Pi. Note that at the moment I am running this command using VNC to a terminal window.

https://askubuntu.com/questions/833795/ ... r-operatio

If I run the installed version of SooperLooper that came from the Raspbian repository, I get this (and it works):
sooper-looper-02.JPG
sooper-looper-02.JPG (86.87 KiB) Viewed 15009 times

I tried running gdb, and the same error pops up when I set a breakpoint at "main", run to main, and then use the "next" command:

Code: Select all

Breakpoint 1, main (argc=1, argv=0x7efff384) at gui_app.cpp:65
65	IMPLEMENT_APP(SooperLooperGui::GuiApp)
(gdb) n
slgui: our URL is osc.udp://raspberrypi:17528/
[New Thread 0x732722f0 (LWP 27571)]
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  12 (X_ConfigureWindow)
  Value in failed request:  0x0
  Serial number of failed request:  1046
  Current serial number in output stream:  1048
[Thread 0x73758010 (LWP 27568) exited]
warning: Error removing breakpoint 0
warning: Error removing breakpoint 0
warning: Error removing breakpoint 0
warning: Error removing breakpoint 0
warning: Error removing breakpoint 0
warning: Error removing breakpoint 0
[Inferior 1 (process 27568) exited with code 01]
(gdb) 
I'll trace into the code to see where it's going wrong, but this seems common enough that maybe one of you wizards knows what I've done wrong.

Same thing happens if I try to use "s" instead of "n" so I trace into functions instead of executing until they return. I am not very experienced with gdb so maybe I'm doing something stupid.

Code: Select all

Breakpoint 1, main (argc=1, argv=0x7efff384) at gui_app.cpp:65
65	IMPLEMENT_APP(SooperLooperGui::GuiApp)
(gdb) s
slgui: our URL is osc.udp://raspberrypi:17725/
[New Thread 0x732722f0 (LWP 27579)]
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  12 (X_ConfigureWindow)
  Value in failed request:  0x0
  Serial number of failed request:  1046
  Current serial number in output stream:  1048
[Thread 0x73758010 (LWP 27576) exited]
warning: Error removing breakpoint 0
warning: Error removing breakpoint 0
warning: Error removing breakpoint 0
warning: Error removing breakpoint 0
warning: Error removing breakpoint 0
warning: Error removing breakpoint 0
[Inferior 1 (process 27576) exited with code 01]
(gdb) 
I am guessing that perhaps I didn't configure the wxWidgets build properly when I ran that. You're supposed to run:

Code: Select all

./configure --enable-gtk2
I can't think of anything else. gtk does appear to be running here (or at least it's in the path of something that is running, I do not know exactly what this is):

Code: Select all

pi@raspberrypi:~ $ ps ax | grep gtk
  868 ?        Sl     0:00 /usr/lib/gvfs/gvfsd-trash --spawner :1.4 /org/gtk/gvfs/exec_spaw/0
27583 pts/5    S+     0:00 grep --color=auto gtk
pi@raspberrypi:~ $
I did a "make clean" in wxWidgets and am running "./configure --enable-gtk2". Here is the relevant output:

Code: Select all

checking for GTK+ version...
checking for pkg-config... /usr/bin/pkg-config
checking for GTK+ - version >= 2.6.0... yes (version 2.24.32)
checking if GTK+ is version >= 2.18... yes
checking for X11/Xlib.h... yes
checking for X11/XKBlib.h... yes
checking for Xxf86vm... yes
checking for X11/extensions/xf86vmode.h... yes
checking for SM... yes
checking for OpenGL headers... found in /usr/include
checking for GL/gl.h... yes
checking for GL/glu.h... yes
checking for GL... yes
checking for GLU... yes

...


Configured wxWidgets 3.0.4 for `armv7l-unknown-linux-gnueabihf'

  Which GUI toolkit should wxWidgets use?                 GTK+ 2 with support for GTK+ printing libnotify
  Should wxWidgets be compiled into single library?       no
  Should wxWidgets be linked as a shared library?         yes
  Should wxWidgets support Unicode?                       yes (using wchar_t)
  What level of wxWidgets compatibility should be enabled?
                                       wxWidgets 2.6      no
                                       wxWidgets 2.8      yes
  Which libraries should wxWidgets use?
                                       STL                no
                                       jpeg               sys
                                       png                sys
                                       regex              builtin
                                       tiff               sys
                                       zlib               sys
                                       expat              sys
                                       libmspack          no
                                       sdl                no

pi@raspberrypi:~/Downloads/wxWidgets-3.0.4 $

Now I'm getting this:

Code: Select all

pi@raspberrypi:~/Downloads/sooperlooper/src $ cd gui
pi@raspberrypi:~/Downloads/sooperlooper/src/gui $ ./slgui &
[2] 22792
pi@raspberrypi:~/Downloads/sooperlooper/src/gui $ 17:42:35: Error: Unable to initialize GTK+, is DISPLAY set properly?
pi@raspberrypi:~/Downloads/sooperlooper/src/gui $ 
[2]+  Exit 255                ./slgui
pi@raspberrypi:~/Downloads/sooperlooper/src/gui $ 
I may need to go work on the washing machine for a bit. :D
Digital Larry
Posts: 13
Joined: Tue Mar 26, 2019 11:54 am

Re: Trouble building/running SL on Raspberry Pi/Raspbian Bus

Post by Digital Larry »

I wish I knew why this happened, but it was cleared up by rebooting the Pi. :roll: Meanwhile I "fixed" the washing machine so thoroughly that I decided to buy a new one instead. However I am getting pretty good at understanding washing machine technology (cough). I should take a video the next time I fix it so I'll remember what I did. I had to replace the clutch, which I'd done before, but something bad happened when I reassembled the washer. :cry:

Now I'm deep in the bowels (yes, I mean exactly that) of the wxWidgets library controlling the layout of controls in the panel. Boy is that ever not fun. But at least I'm making some progress.
Post Reply