Skip to content

Build sonic-pi 5.0#dev on Linux Mint 22.1 (Xia) #3449

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
idommason opened this issue Mar 14, 2025 · 0 comments
Open

Build sonic-pi 5.0#dev on Linux Mint 22.1 (Xia) #3449

idommason opened this issue Mar 14, 2025 · 0 comments

Comments

@idommason
Copy link

Hi Sonic Pi linux builders

Introduction

This is a very basic description of what is needed to build and run the development branch of Sonic-Pi on Linux Mint 22.1 (Xia)

(as requested by @samaaron )

Machine used is a VirtualBox clean install of the latest version of Linux Mint - and during the install I did agree to install all the media codecs. Pipewire is the default sound system on this version of Linux Mint and Sonic-Pi (above 4.5.0 ) expects to use this

Preparation

Use apt to install necessary packages

sudo apt-get install build-essential git curl qt6-tools-dev qt6-tools-dev-tools gcc-12 g++-12 libssl-dev ruby-dev erlang-dev erlang-xmerl cmake libaubio-dev libpng-dev libboost-filesystem-dev libboost-thread-dev qt6-svg-dev libxkbcommon-dev supercollider-server sc3-plugins-server alsa-utils libasound2-dev pipewire-audio-client-libraries pipewire-jack

The install of the jack will ask you whether you want to enable real-time priority - you should answer Yes

This will also create a file:

/etc/security/limits.d/audio.conf

which you will need to edit and un-comment the last line so it looks like this


@audio   -  rtprio     95
@audio   -  memlock    unlimited
@audio   -  nice      -19

You also need to be a member of the audio group, which in a Mint (and Ubuntu) install you are not a member of by default

sudo usermod -aG audio $USER

Add the Erlang PPA and install elixir and erlang packages

sudo add-apt-repository ppa:rabbitmq/rabbitmq-erlang
sudo apt update
sudo apt install elixir erlang-dev erlang-xmerl

You also need to create a link in /usr/bin for qmake to link to qmake6

sudo ln -s /usr/bin/qmake6 /usr/bin/qmake

( In my previous documentation, I did some stuff with qtchooser - but now you should avoid it, it appears to be broken and fixated on qt5 even if qt5 is not installed)

For these changes to be applied it is probably best to reboot at this point

Doing the Build of Sonic-Pi

mkdir Development

git clone https://github.com/sonic-pi-net/sonic-pi.git ~/Development/sonic-pi

cd Development/sonic-pi/app

We need to build with gcc-12 - not the default gcc-13 that is installed with build-essential. We installed gcc-12 and g++-12 at the start

We tell the build to use those by simply doing (one at a time):

export CC=gcc-12 CXX=g++-12 && ./linux-prebuild.sh

export CC=gcc-12 CXX=g++-12 && ./linux-config.sh

export CC=gcc-12 CXX=g++-12 && ./linux-build-gui.sh

export CC=gcc-12 CXX=g++-12 && ./linux-post-tau-prod-release.sh

OR

export CC=gcc-12 CXX=g++-12 && ./linux-build-all.sh

This script does all the previous 4 steps in one go

Running Sonic-Pi

After completion you can use the sonic-pi script in ~/Development/sonic-pi/bin

cd ~/Development/sonic-pi/bin

./sonic-pi &

This builds Sonic-Pi v5.0.0-beta-2 at the time of writing

Good luck and happy music making!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant