On a lark I decided to spin up a CentOS vagrant and see what it would take to compile it.
It was a little more complicated that I had thought, owing to the age of the packages in 7. But if you’re interested in compiling it, this is briefly what I did.
First, you’ll need to install two non-standard repositories: the epel-release
repository for access to the Jack development libraries, and centos-release-scl
for access to GCC 7.
sudo yum install -y epel-release centos-release-scl
Next, you’ll want to install the development packages:
sudo yum group install -y "Development Tools"
You’ll also want to install the following packages:
sudo yum install -y wget mesa-libGL-devel libXrandr-devel libXinerama-devel libXcursor-deve libXi-devel \
zlib-devel gtk2-devel jack-audio-connection-kit-devel jq cmake3 alsa-lib-devel
Now, here’s where things get a little tricky.
You’ll need to (as root) create a symbolic link from cmake3
to cmake
.
cd /usr/bin
ln -s cmake3 cmake
Next, you’ll need to install and activate GCC7 – the version on CentOS is what’s causing your problems, and it doesn’t default to the C99 standard, which a few of the dependencies need.
sudo yum install -y devtoolset-7-gcc devtoolset-7-gcc-c++
scl enable devtoolset-7 -- bash
(note that the second command creates a sub-shell.)
Now that you’ve done these things, you should be able follow the build guide.
git clone https://github.com/VCVRack/Rack.git
cd Rack
git submodule update --recursive --init
make dep
make
Now, I don’t have a way of running it – it’s just a VM, and I think rack doesn’t like VNC, and sound probably wouldn’t work – so I can’t really test, but if you use GCC7 I think you should have binary compatibility with downloaded modules, but I can’t guarantee it.