Build Audacity with mod-script-pipe on Raspberry Pi [SOLVED]

/tmp is writable by the non-privileged user.

While there, I saw that there were two files in there owned by root:

audacity_script_pipe.from.0
audacity_script_pipe.to.0

I changed the ownership of these files to the non-privileged user, but it didn’t work.

They would be created when you ran Audacity (with mod-script-pipe) as root. (user id for root is 0)
These are not normal files, they are named fifo pipes.

When you launched Audacity as root, did you not see an error / warning:

Audacity could not find a place to store temporary files.
Please enter an appropriate directory in the preferences dialog.

No, I didn’t see this warning even though the files were not owned by root. After launching as roo, when I checked the owner in /tmp, it was changed BACK to root (I assume by the program).

Did you “make” mod-script-pipe as root?

No, but I did sudo make install to install.

Clear as mud :smiley:

Is this what you did:
From the Audacity source root

./configure <options>
make

from /lib-src/mod-script-pipe

make

all of the above on the same day.

Then to install Audacity, from Audacity source root:

sudo make install

then copy (as normal user), mod-script-pipe.so to:

~/.audacity-files/modules/

From /home/pi, I have cloned the latest repos of wxWidgets and Audacity. Then:

cp -r wxWidgets wxWidgets-dev
cd wxWidgets-dev
git reset --hard 721d62a //this is the tag for the latest wxWidgets 3.0.4 release
./configure --with-gtk
./make -j3 //the -j3 tag uses three cores (don't want to get too hot ;-))
cd ..
cp -r audacity audacity-dev
cd audacity-dev
git reset --hard 2fef7f3 //this is the tag for the latest Audacity 2.1.3 release
./configure <options> //including specifying WX_CONFIG=/home/pi/wxwidgets-dev/wx-config
cd ./lib-src/mod-script-pipe/
make -j3
cd ..
make -j3
sudo make install
cd ..
mkdir .audacity-files
cd .audacity-files
mkdir modules
cd modules
cp ../../audacity-dev/modules/mod-script-pip.so ./

After executing Audacity as the nonprivileged user, the modules dialog can’t find mod-script-pipe.

OK, so I’ve tried building and installing 2fef7f3, but with wxWidgets 3.0.2 and on a laptop rather than a Pi, and mod-script-pipe works fine for me.
I’m running out of ideas, short of scrubbing the system and starting again from scratch.

Grasping at straws…

From ~/.audacity-files/
What’s your output from

ls -la

and then again from ~/.audacity-files/modules

and is ~/.audacity-data/audacity.cfg writable?

Looks normal:

$ cd .audacity-files/
$ ls -al
total 12
drwxr-xr-x  3 pi pi 4096 Mar 20 21:39 .
drwxr-xr-x 35 pi pi 4096 Mar 21 23:15 ..
drwxr-xr-x  2 pi pi 4096 Mar 20 21:39 modules
$ cd modules/
$ ls -al
total 48
drwxr-xr-x 2 pi pi  4096 Mar 20 21:39 .
drwxr-xr-x 3 pi pi  4096 Mar 20 21:39 ..
-rwxr-xr-x 1 pi pi 40552 Mar 20 21:39 mod-script-pipe.so

Mine are rwxrwxr-x but I don’t expect that to make a difference.

At this point, I’m going to start from a fresh installation, see what happens, and report back to this thread.

I started with a fresh copy of Raspbian Stretch 2018-03-13, then built wxwidgets 3.0.4 and Audacity 2.2.2, and voila - everything works, including the ability to load mod-script-pipe.so. The location of the file is the standard user location .audacity-files/modules/.

So the bottom line is that my first attempt must’ve had something wonky with it. I’m closing this thread with a complete list of the commands I needed to build Audacity in Raspbian:

sudo apt-get install libgtk-3-dev
sudo apt-get install cmake
sudo apt-get install libasound2-dev
<Github configuration and SSH cert>
cd ~
git clone https://github.com/wxwidgets/wxwidgets
git clone https://github.com/audacity/audacity
cp -r wxwidgets wxwidgets-dev
cd wxwidgets-dev
git reset --hard 721d62a
./configure --with-gtk --enable-debug
./make -j3
cd ..
cp -r audacity audacity-dev
cd audacity-dev
git reset --hard f665e6d
./configure CXXFLAGS="-std=gnu++11" WX_CONFIG=/home/pi/wxwidgets-dev/wx-config --with-lame --with-vorbis=local --with-libid3tag --with-libsoxr=local --with-libvorbis --with-lv2 --with-portaudio --with-midi --with-portmidi --with-widgetextra=local --with-portmixer --without-nyquist --disable-sse
cd ./lib-src/mod-script-pipe/
make -j3
cd ../..
make -j3
cd ..
mkdir .audacity-files
cd .audacity-files
mkdir modules
cd modules
cp ../../audacity-dev/modules/mod-script-pip.so ./

Thanks adaptiman,

I’ll lock this thread and edit the title to make it easier find for anyone building on a Pi.