Updating tags for StringIO.
[rbx.git] / INSTALL
blobf70521bdfe9c0c1b08a0c090317f3ea345e6d3f8
1 = Installation guide for Rubinius as of 10/2007
3 If you are having trouble with installation, the #rubinius IRC channel on
4 irc://irc.freenode.net will help.
7 == Getting the software and required libraries
9 There are a few things that you need in order to be able to build and run
10 Rubinius.  Once you have installed the general requirements, install the Gems
11 needed and then any platform-specific requirements.
14 === General requirements
16 * "GCC version 4.x":http://gcc.gnu.org/
17 * "GNU Bison":http://www.gnu.org/software/bison/
18 * "gmake (GNU Make)":http://savannah.gnu.org/projects/make/
19 * "Ruby version >= 1.8.4 (the Ruby language)":http://www.ruby-lang.org/
20 * "RubyGems (Ruby package manager)":http://www.rubygems.org/
21 * "Git (source control used by rubinius)":http://git.or.cz/
23 Each package may have requirements of its own, of course.
25 If you want to avoid overriding your existing environment, you may want to
26 install everything under its own prefix (such as /usr/local) and to name
27 programs so they don't collide with your existing installation (such as naming
28 gmake 'gmake').  You can then adjust your PATH environment variable as needed
29 for rubinius development.
32 === Requirements through RubyGems
34 * rake
36 Rake may be obtained with the `gem install` command. See `gem help` and
37 http://www.rubygems.org for more information.
40 == Rubinius itself
42 You need to check Rubinius out through Git (which we just installed). The
43 invocation looks like this:
45   git clone http://git.rubini.us/code rubinius
47 For more information on rubinius' best practices for git, see "using
48 git":http://rubinius.lighthouseapp.com/projects/5089/using-git
50 Rubinius can also be cloned via github:
52   git clone git://github.com/evanphx/rubinius.git rubinius
54 == Getting the RubySpec submodules
56 You need to fetch the source for MSpec and the RubySpec submodules manually.
57 After running 'git clone' above, run:
59   rake spec:update
61 The spec:update task is also a dependency of the git:update task. So, if you
62 use the rake tasks for updating your Rubinius sources, the MSpec and RubySpec
63 source will automatically be updated. If you use the git commands manually,
64 you will need to run rake spec:update also.
66 == Compiling Rubinius
68 Once you have all the prerequisites installed, building rubinius is as simple
69 as:
71   cd /path/to/rubinius
72   rake build
74 This will give you a binary, @./shotgun/rubinius@ which can then be invoked to
75 run scripts. If your system compiler is not GCC 4.x, you can set the CC environment variable:
77   CC=/path/to/gcc rake build
79 If you want a development version (no optimisations, extra debug info), set the DEV environment variable:
81   DEV=1 rake build
84 == Installing Rubinius
86 To install @rbx@ as a shortcut for @./shotgun/rubinius@:
88   rake install
91 == Prefix installs
93 To install rbx and the rubinius library in a different location, you can set
94 the PREFIX environment variable during build and install:
96   PREFIX=/opt/packages/rubinius rake build
97   PREFIX=/opt/packages/rubinius rake install
100 == Troubleshooting and platform-specific notes
102 Right now, the very best thing to do is to join the #rubinius IRC channel on
103 irc://irc.freenode.net.  The forums here are an alternative method though the
104 response is probably not going to be as swift. We will try to collect tips
105 here, too.
108 === 64-bit platforms
110 Currently mostly works on amd64 and Opteron. Other 64-bit platforms have not
111 been tested.
114 === Mac OS X with macports
116 See http://sam.aaron.name/2007/9/22/rubinius-on-os-x/
118 === Ubuntu
120 For the build to succeed you will need these packages:
122 * bison
123 * libglib2.0-dev
124 * libreadline5-dev
125 * libssl-dev
126 * zlib1g-dev