Running Rosegarden under Cygwin on Windows

This page is intended to document my journey trying to compile and run Rosegarden under Cygwin on Windows.

Why??

Why document it? Because visibility and transparency is a good thing, as is sharing knowledge and pain.

Why do it? Because my work have given me a nice shiny new powerful Windows laptop which I use all the time now, and it would be nice to simply and conveniently dip in and out of Rosegarden on it. Plus, I have a desire to write a Jack midi/audio adapter for Rosegarden, at which point Rosegarden might be runnable on a Mac as well, and it gives an alternative to the reliance on ALSA on linux (albeit the dependency is hidden behind Jack, but you get what I mean).

Steps

First job to do - install Cygwin on my laptop. Next job, get hold of the RG source, try to build in the traditional linux way and see what the compiler moans about. The next step depends on those moans…

1. Installed subversion via cygwin (otherwise I couldn't check the code out!)
2. Checked the code out - svn checkout http://svn.code.sf.net/p/rosegarden/code/trunk/rosegarden rosegarden-trunk
3. Installed autoconf, otherwise I couldn't begin to build anything
4. Got some errors - 

$ sh bootstrap.sh
configure.ac:59: error: possibly undefined macro: AC_MSG_WARN
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
configure.ac:69: error: possibly undefined macro: AC_MSG_NOTICE

5. Ran ./configure anyway - got some gcc related errors (couldn't find it)
6. Installed gcc
7. Got some more errors - no Qt!
8. Installed Qt... installed qtcore, qtgui, qtnetwork and qtxml. Now having to use  ./configure --enable-debug --with-qtlibdir=/lib/qt4/ because cygwin seems to have put its stuff there
9. Also installed pkg-config. Reran bootstrap - now don't get the errors I got before :-)
10. Now ./configure complains about missing Ladspa.h. This isn't available in a base cygwin install. Think I'm going to have to get this from cygwin ports
11.  Installed cygwin ports, by following the instructions on [[http://sourceware.org/cygwinports/]]
  - Use the latest Cygwin setup.exe (at least version 2.738).
  - Launch setup.exe with the -K flag, e.g.: cygstart -- /path/to/setup.exe -K http://cygwinports.org/ports.gpg
  - On Choose Installation Type page, select "Install from Internet".
  - On Choose Download Site(s) page, select a distro mirror, then enter ftp://ftp.cygwinports.org/pub/cygwinports in the User URL field and press Add (making sure that both are highlighted). 
    * Mirrors are available by instead entering http://downloads.sourceforge.net/cygwin-ports as the User URL. 
    * Alternatively, you can use a sourceware mirror, but if you do, you must use one hosted on a different server than your selected distro mirror. 
  - Proceed with package selection and installation, making sure to install any indicated dependencies.
12. Installed ladspa from newly configured cygwin
13. Now need dssi. Downloaded source for dssi-1.1.1 from http://sourceforge.net/projects/dssi/files/dssi/1.1.1/, and also the rather useful libdssialsacompat-1.0.8 from http://smbolton.com/linux.html. Did the usual ./configure/make/make install to build these. Installed them to /usr prefix rather than /usr/local. Also installed liblo, for possibly no good reason. As of this step, dssi is built without JACK support. I might come back and rebuild dssi once I've sussed out how to get it to see my JACK installation