In order to build SuperCollider 3.6.5 from source on Linux (Debian), the following steps were necessary on a fresh system:
sudo apt-get install build-essential
sudo apt-get install cmake
sudo apt-get install libfftw3-dev
sudo apt-get install libqt4-dev
sudo apt-get install libqtwebkit-dev
sudo apt-get install libjack-jackd2-dev
sudo apt-get install libsndfile1-dev
sudo apt-get install libasound2-dev
sudo apt-get install libavahi-client-dev
sudo apt-get install libicu-dev
sudo apt-get install libreadline6-dev
sudo apt-get install libxt-dev
sudo apt-get install pkg-config
git clone https://github.com/supercollider/supercollider.git
cd supercollider
git checkout -b v3.6.5 Version-3.6.5
git submodule init && git submodule update
Then we need to apply a change to one file that doesn't compile any longer with the latest GCC:
diff --git a/server/supernova/utilities/malloc_aligned.hpp b/server/supernova/utilities/malloc_aligned.hpp
index e572dcb..8f2f8e4 100644
--- a/server/supernova/utilities/malloc_aligned.hpp
+++ b/server/supernova/utilities/malloc_aligned.hpp
@@ -243,7 +243,7 @@ public:
template< class U, class... Args >
void construct(U * p, Args&& ... args)
{
- ::new(p) T(std::forward<Args>(args)...);
+ ::new((void*)p) U(std::forward<Args>(args)...);
}
#endif
After that we can perform the actual build:
mkdir build
cd build
cmake -DSC_WII=no -DSC_EL=no ..
make
sudo make install
For Debian 11:
First, as before
Now, there is no qt5-default package, but a dummy can be built following these instructions: https://www.projectguideline.com/faking-qt5-default-package-on-debian-11-for-installing-netsimulyzer-3d-visualization-tool/
Then one can proceed with