oreilly.comSafari Books Online.Conferences.


AddThis Social Bookmark Button

Get Your Rotor Running

by Brian Jepson

So, you'd like to experiment with Rotor. Given that it's made up of approximately 9,700 files and 1.9 million lines of code, it is definitely a little intimidating. Fortunately, the build process is simple, and when it's done, you're only looking at a handful of tools. So, you don't need to grok all those files and lines of code at once; you can take your time and explore Rotor at your own pace. For a high-level overview of Rotor, you will want to read David Stutz's architectural tour.

Required Software

The first release of Rotor can be compiled on Windows or FreeBSD. Aside from plenty of memory, you'll also need Perl. Most installations of FreeBSD will have Perl, but if not, cd to /usr/ports/lang/perl5 and run make install as root. On Windows, you can download Perl from ActiveState. Windows users will also need Visual Studio .NET. For the first release of Rotor, the .NET Framework SDK will not suffice. So, if you don't own a copy of Visual Studio .NET, FreeBSD is the cheapest way to go. See the O'Reilly Network BSD DevCenter for lots of good information on FreeBSD.

Required Hardware

You will need about 80 megabytes of disk space to extract the Rotor source code. However, Rotor will end up using much more when its compilation is complete (about a gigabyte on FreeBSD, and half that on Windows). You should set aside a bit more to account for temporary files and swap file growth.

To compile Rotor, 512 megabytes of physical memory is recommended, but you can get away with 256. With any less than that, be prepared for a lot of swapping and a long compilation. The next table shows some build times on various platforms:

CPU Front Side Bus Operating System Memory IDE DMA Mode Build Time
1200mhz Athlon Desktop 266mhz FreeBSD 4.5 512 MB UDMA 100 28 minutes
1200mhz Athlon Desktop 266mhz Windows 2000 512 MB UDMA 100 11 minutes
600mhz Pentium III Notebook 100mhz FreeBSD 4.5 256 MB UDMA 33 57 minutes
600mhz Pentium III Notebook 100mhz Windows XP 256 MB UDMA 33 29 minutes
600mhz G3 iBook 100mhz Windows 2000 (running under Virtual PC 5.0.2) 256 MB allocated to Windows 2000 (384 MB installed) UDMA 33 3 hours

Getting Rotor

Comment on this articleTried it out? What are your initial impressions?
Post your comments

To download Rotor, and for support and license information, visit Microsoft's Shared Source CLI Beta page.

Now that you've verified the requirements (and probably upgraded the RAM in your computer), it's time to get started. The first thing you'll need to do is get Rotor.

One of the key considerations that went into the design of the Rotor's shared source license is that a programmer should be able to look at the Rotor source without becoming tainted. Indeed, one of Microsoft's goals for Rotor is to be a guide for anyone who implements the ECMA CLI whether for an open source or proprietary project. Nevertheless, it will be some time before open source project organizers have had a chance to form an opinion about the Rotor's shared source license. So, if you are an active contributor to a project that overlaps with Rotor, you should check with the project organizers before looking at the source code.

Head on over to Microsoft's Shared Source CLI Beta page for the download. The Rotor source is available as an approximately 11.3 megabyte gzipped tar file. Download it to your computer and extract it with tar (note that the actual filename may vary):

$ gzip -dc sscli.tgz | tar xvf - 

If you are on FreeBSD, tar will be available on your system. If you are on Windows, you'll need to get tar and gzip. WinZip supports tar files, and you can download command line versions of tar and gzip for Windows at

After you've extracted the archive, change directory (cd) into the top-level directory that was created:

$ cd sscli 

Preparing to Build

Before you go any further, be sure to peruse the readmefirst.html file, since it will contain late-breaking news.

To set up your environment under Windows, you must run env.bat. You'll need to run this batch file before you build Rotor, or to use any of the Rotor applications.

C:\src\sscli> env.bat
Setting environment for using Microsoft Visual Studio .NET tools.
(If you also have Visual C++ 6.0 installed and wish to use its tools
from the command line, run vcvars32.bat for Visual C++ 6.0.)
CLR environment (C:\src\sscli\clr\bin\rotorenv.bat)
Building for Operating System - NT32
             Processor Family - x86
                    Processor - i386
            Build Environment = C:\src\sscli\rotorenv
                   Build Type - fastchecked

To set up your environment under FreeBSD, you must source in (if you are using an sh variant such as bash) :

$ .
Fastchecked Environment
Use env.csh if your shell is csh (or a csh variant such as tcsh):
% source env.csh
Fastchecked Environment

Pages: 1, 2

Next Pagearrow