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
Uninstallation:
It seems that some directories remain (empty?), perhaps because of forgetting to uninstall plugins first? So to finish: