I am very satisfied to have successfully completed this installation from the sources without difficulty. The only adaptation I had to make is to replace in the list of dependencies libffi7 by libffi6.
The distribution is installed in ~ / sonic-pi
To start first launch qjackctl.
I also just found that, I’m glad there’s kindof linux support now!
See whether it works… (cause my 3.2.2 still has this use_merged_synth_defaults bug)
That will get you the latest source which is not ideal unless you want to develop or test the absolute latest code.
Ideally you’d use git to checkout a specific tag. However, if you’re not familiar with git, it might be easier to just download the .zip file of the latest tag direct from Github’s releases page: https://github.com/samaaron/sonic-pi/releases
I also got this error before installing the latest Erlang and CMake. Can you try installing them as described in the guide?
You should also switch the repo to v3.2.2 before following the installation instructions: run git checkout tags/v3.2.2 -b v3.2.2 inside the cloned repository to do that
$ erl
Erlang/OTP 24 [DEVELOPMENT] [erts-11.0.2] [source-b3c8383d6a] [64-bit] [smp:16:16] [ds:16:16:10] [async-threads:1] [hipe]
$ cmake --version
cmake version 3.17.3
CMake suite maintained and supported by Kitware (kitware.com/cmake).
seems to work now
EDIT: Actually compiles, but I’d liked to have a “bleeding edge” version.
How do you know whether it compiles when there are new commits on the master branch?
It normally does, but we’re going through quite a bit of turbulence right now as we completely replace our MIDI subsystems.
Typically I’d always strongly suggest working with the tags unless you want to get involved with development. Whilst we don’t currently officially support Linux, it’s easier to offer advice if you stick to trusted waypoints which the tags are.
Working with the latest main branch means you’re on your own in many ways, although if you do fix things then you’d be able to directly contribute to development
So in the current commit of the master branch there seems to be a problem with the include of erl_nif.h.
Has the thing with use_merged_synth_defaults already been fixed?
I just found the corresponding pull request #2384 got closed, however the change is neither in the current master nor main branch code, probably there was another change fixing this?
@samaaron:
EDIT: the fix proposed in pull request #2384 works fine for me, should I open an issue?
@gedobbles I did say I’d make sure that it was followed up, but perhaps did not clarify its current state - the use/with_merged_synth_defaults bug has not been fixed yet. I have a proposed solution, but am waiting for feedback before I create a PR ready for it to be merged. Hopefully it will make it into the next official release.
As a note for anyone on Linux whose package manager installs static libs into /x86_64-linux-gnu (I think this is from GCC/G++), it turns out that the FFI lib only checks for /usr/lib, /usr/local/lib, and /opt/local/lib.
Sonic Pi will fail on the FFI check for libaubio so you’ll need to sudo apt install libaubio and then cp it into one of those directories.