After spending hours trying to compile Playscript-mono on Windows (Windows 7, x64), I have realized that I should share my final procedure. Please, note, that I am not command line savvy person and actually this was my first large compilation. Thus, I can not guarantee that it will work in all cases. But hopefully it will be helpful for someone.
If you do not want to bother with building Plascript from source, you can find links to compiled binaries on Playscript GitHub page.
Basically, compiling of Plasycript is the same as compiling Mono. Reference resources that were used:
At the end you should have:
- Mono installed in C:\Mono-2.10.9 (version may be different based on what you used)
- Playscript source in C:\playscript-src
- Playscript binaries in C:\playscript
First of all, download Mono from here and install it. It’s better to install to the root of the drive to avoid spaces etc. This is why we installed it into C:\Mono-2.10.9. Obviously, the numbers may differ in your particular case because they reflect the version of the Mono.
Next, install Cygwin. It can be downloaded from here. Install it to the root of C drive as well. The important thing is selection of modules that should be installed (in addition to some default ones). Here is the list of what were installed:
- automake
- bison
- gcc-core
- gcc-g++
- gdb
- gettext
- intltool
- libiconv
- libtool
- pkg-config
- make
- pthreads
Some tutorials about compiling Mono suggest that you should downgrade “make” from 3.81 to 3.80 . Current version of “make” is 3.82 and it seems to be OK. Also, you may need to disable EntityFramework.SqlServer (links to Google Group discussions above) in mcs/class/Makefile (this is temporary workaround, and it will be changed in the future).
We are ready to start. First step will be to run Cygwin terminal as Administrator. This may or may not be necessary. You can either right-click and select Run as Administrator or select the checkbox in properties like in following image:
Next, you need to add the path to the Mono binaries. Do it by running following command. Note, that I am using “/cygdrive/c/” syntax to point to C drive. This may be preferred way over using “C:\”
export PATH=$PATH:/cygdrive/c/Mono-2.10.9/bin
Then go to playscript-src directory (assuming you have already created it)
cd /cygdrive/c/playscript-src/
Let’s clone the repository now
git clone git://github.com/playscript/playscript-mono.git
Cloning created playscript-mono folder, we should go into it
cd playscript-mono
Following steps may take significant amount of time, depending on your computer. You may turn off your anti-virus software, if you want, to increase the general speed.
Run
./autogen.sh --prefix=/cygdrive/c/playscript/
If everything finished successfully, you will see no errors and suggestion that you may run “make” now. Thus, run
make
If everything finished without errors run
make install
Now, you have your Playscript binaries in C:\playscript folder.
There is one final step that should be performed. Our compilation procedure did not create batch files (in C:\playscript\bin). We can copy/paste them from existing Mono installation. However, if you do this, you also need to update all absolute paths. For your convenience, I am attaching zip archive with all .bat files where paths are changed to relative values (I took them from compiled binaries the link to which can be found on Playscript GitHub page). Unzip it to C:\playscript\bin.
Happy coding!
Thanks for post. Very helpfull =)
But last command “make-install” without dash… Just “make install”.
Thanks. Fixed 🙂