Skip to content

Instantly share code, notes, and snippets.

@Factoid
Created September 14, 2016 17:47
Show Gist options
  • Save Factoid/f498d39b90d380b1f7e53063c2bc71ea to your computer and use it in GitHub Desktop.
Save Factoid/f498d39b90d380b1f7e53063c2bc71ea to your computer and use it in GitHub Desktop.
Windows install instructions
Ok, so if you have ruby23 installed, and in your path you can use 'gem install' to install each of the gems that are normally built by compile-extensions.rb
You should install the mingw dev toolchain that Qt provides in their installer. The 32 bit one, since that's what SuperCollider for windows is built with.
The critical thing is making sure that the SP gui is built with the same toolchain as the SC application, otherwise the scope stuff explodes. I have some ideas for how SC might harden that, but that IPC system was never intended for use outside of scsynth and scide.
When building libaubio, you can follow their instructions, just when you do the configure step do this instead.
`./waf --check-c-compiler=gcc configure`
This will prevent it from building with MSVC, and use the Qt's mingw install instead.
Copy all of ruby23, app\server\native\windows\ruby directory. That'll ensure the gems and libraries are available.
Copy the libaubio-5.dll to app\server\native\windows\ruby\bin\aubio1.dll
At this point you should? be able to execute the following.
../../server/bin/i18n-tool.rb -t
cp -f ruby_help.tmpl ruby_help.h
../../server/bin/qt-doc.rb -o ruby_help.h
lrelease SonicPi.pro
qmake -qt=qt5 SonicPi.pro
make
If it all works and make produces an exe in release, then you need to run `windeployqt sonic-pi.exe -printsupport` to copy in the Qt dlls.
You will also likely need to copy the qwt.dll and qscintilla2.dll files from your source builds into the release folder as well.
Assuming you have supercollider installed correctly still from the last time, then sonic-pi.exe should work and everything should be fine.
The problem is that lots of things can go wrong, but basically it comes down to the following.
../../server/bin/i18n-tool.rb -t
cp -f ruby_help.tmpl ruby_help.h
../../server/bin/qt-doc.rb -o ruby_help.h
Will probably fail if you don't have the gems installed and everything mirrored into the app\server\native\windows\ruby
Just take it one step at a time and try to resolve issues as they come up.
lrelease SonicPi.pro
qmake -qt=qt5 SonicPi.pro
make
Will fail if you don't have the prf files from the qwt and qscintilla builds installed into your Qt directory so that QMake can build the project correctly. Make sure you're using my win_build branch, because I culled out some crap and forced off a DEFINE block that tries to use the "windows" version of network stuff, rather than the "mingw32" version.
After it builds, it just comes down to making sure all the dlls are in the right places so that ruby and sonic-pi.exe can find what they need, and that supercollider is installed where sonic-pi expects to find it.
I will endevour to put this into an actual shell script that can be run from gitbash, and test it out on a clean windows 10 install via VM.
But hopefully you can puzzle it out and PM me here if you get stuck.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment