Fix symbol table collision problem
[rbx.git] / INSTALL
blob6ae5906409080650e091f5c2ec67aa6096d7815b
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 * "pkg-config (configuration tool)":http://pkgconfig.freedesktop.org/
20 * "libtool version >= 1.5":http://www.gnu.org/software/libtool/
21 * "Ruby version >= 1.8.4 (the Ruby language)":http://www.ruby-lang.org/
22 * "RubyGems (Ruby package manager)":http://www.rubygems.org/
23 * "Git (source control used by rubinius)":http://git.or.cz/
24 * "zip and unzip commands (archiving)":http://www.info-zip.org
26 Each package may have requirements of its own, of course.
28 If you want to avoid overriding your existing environment, you may want to
29 install everything under its own prefix (such as /usr/local) and to name
30 programs so they don't collide with your existing installation (such as naming
31 gmake 'gmake').  You can then adjust your PATH environment variable as needed
32 for rubinius development.
35 === Requirements through RubyGems
37 * rake
39 Rake may be obtained with the `gem install` command. See `gem help` and
40 http://www.rubygems.org for more information.
43 === System-dependent requirements
46 ==== FreeBSD, OpenBSD
48 * "libexecinfo (backtrace utilities)":http://www.freshports.org/devel/libexecinfo
51 == Rubinius itself
53 You need to check Rubinius out through Git (which we just installed). The
54 invocation looks like this:
56   git clone http://git.rubini.us/code rubinius
58 For more information on rubinius' best practices for git, see "using
59 git":http://rubinius.lighthouseapp.com/projects/5089/using-git
62 == Compiling Rubinius
64 Once you have all the prerequisites installed, building rubinius is as simple
65 as:
67   cd /path/to/rubinius
68   rake build
70 This will give you a binary, @./shotgun/rubinius@ which can then be invoked to
71 run scripts. If your system compiler is not GCC 4.x, you can set the CC environment variable:
73   CC=/path/to/gcc rake build
75 If you want a development version (no optimisations, extra debug info), set the DEV environment variable:
77   DEV=1 rake build
80 == Installing Rubinius
82 To install @rbx@ as a shortcut for @./shotgun/rubinius@:
84   rake install
87 == Troubleshooting and platform-specific notes
89 Right now, the very best thing to do is to join the #rubinius IRC channel on
90 irc://irc.freenode.net.  The forums here are an alternative method though the
91 response is probably not going to be as swift. We will try to collect tips
92 here, too.
95 === 64-bit platforms
97 Currently mostly works on amd64 and Opteron. Other 64-bit platforms have not
98 been tested.
101 === Mac OS X with Fink
103 See http://42squared.com/posts/how_to_install_rubinius_on_mac_os_x
105 If you are getting an error like this one:
107   glibtool: link: cannot build libtool library `librubinius.la' from non-libtool objects: ...
109 This is probably because you are using an old glibtool (1.3.5 or similar) that
110 came with Fink.  This is the case when `which glibtool` returns
111 /sw/bin/glibtool. You want to use /usr/bin/glibtool (1.5) instead.  If you are
112 radical you can just `sudo rm /sw/bin/glibtool` to fix this mess.
115 === Ubuntu
117 For the build to succeed you will need these packages:
119 * libglib2.0-dev
120 * zlib1g-dev