Skip to content

Latest commit

 

History

History
100 lines (54 loc) · 5.06 KB

getting_rubinius.md

File metadata and controls

100 lines (54 loc) · 5.06 KB

Getting Rubinius

Rubinius can be installed on most Unix/Linux operating systems. Rubinius does not run on Windows yet.

Installing Packages

Docker

Rubinius provides Docker images based on Ubuntu 14.04. The images are automatically built on Docker Hub and available at the Rubinius Docker organization. To use the Rubinius Docker image, follow these steps:

  your-shell$ docker pull rubinius/docker
  your-shell$ docker run -it rubinius/docker bash
docker-shell# ruby -v

OS X Homebrew

Rubinius provides Homebrew binaries that should be compatible with 10.8 (Mountain Lion) and newer OS X releases. To install Rubinius on Homebrew, follow these steps:

$ brew update
$ brew tap rubinius/apps
$ brew install rubinius

Ubuntu

We build binaries for Ubuntu for 14.04. These binaries are built so that they can be used on Travis with RVM. They can also be manually expanded for use with chruby.

To see all the binaries that are available, visit http://binaries.rubinius.com/index.txt.

Heroku

We build binaries for Heroku. Specify the latest Rubinius version in your applications Gemfile and when you push to Heroku, their build system will use the binary we built for that version. An example for your Gemfile follows:

ruby "2.2.2", :engine => "rbx", :engine_version => "3.31"

Other Unix/Linux

We highly recommend using ruby-install to build Rubinius instead of rbenv or RVM. ruby-install does a good job of making sure the pre-reqs are met, including getting a build ruby.

We intend to eventually provide packages and binaries for other Unix/Linux systems. If you are interested in helping us get a Concourse CI build pipeline going, or in building binaries for a particular OS and sharing them, join us in the Rubinius Gitter channel.

Building from Source Code

Source code tarballs are built for each release. To see which versions are available, visit http://releases.rubinius.com/index.txt.

Dependencies

Rather than build Rubinius from source, we recommend using ruby-install. ruby-install does a good job of making sure the prereqs are met, including getting a build ruby. Eventually, the ruby build dependency will go away, and building from source will be as easy as ./build.sh. But until then, we recommend giving ruby-install a go.

Before building Rubinius from source, various dependencies need to be installed, based on your platform.

One of the critical Rubinius dependencies is LLVM version 3.6+. Since LLVM takes a long time to build, we do not support OS versions that do not have modern LLVM binary packages available (e.g. Ubuntu 12.04).

Ubuntu/Debian

$ [sudo] apt-get install -y git clang-3.6 automake flex bison make ruby-dev llvm-dev-3.6 zlib1g-dev libyaml-dev libssl-dev libgdbm-dev libreadline-dev libncurses5-dev libedit-dev

Use the following configure command in the build instructions below:

$ ./configure --prefix=/path/to/install/dir/rbx-<version> --llvm-config=llvm-config-3.6

NOTE: If you are using LLVM 4.0, you must link only with libc++. Use the following configure command in the build instructions below:

$ CXXFLAGS='-nostdinc++ -I/usr/include/c++/v1' LDFLAGS='-stdlib=libc++ -lc++' ./configure --prefix=/path/to/install/dir/rbx-<version> --llvm-config=llvm-config-4.0 --cc=clang-4.0 --cxx=clang++-4.0

Redhat/Fedora

$ [sudo] yum install -y git clang-3.6 automake flex bison make ruby-devel rubygems llvm-static llvm-devel zlib-devel libyaml-devel openssl-devel gdbm-devel readline-devel ncurses-devel

Use the following platform-specific configure command in the build instructions below:

$ ./configure --prefix=/path/to/install/dir/rbx-<version>

OS X

The easiest way to install dependencies on OS X is to use Homebrew. If it's not already installed, also install the latest version of Xcode or the Command Line Tools.

$ brew install git openssl readline libyaml gdbm llvm38

Use the following platform-specific configure command in the build instructions below:

$ ./configure --prefix=/path/to/install/dir/rbx-<version> --llvm-config=$(brew --prefix llvm38)/bin/llvm-config-3.8

Building

In the interest of making it easier to build Rubinius, we are in the process of replacing the conventional (ruby-dependent) build process with the one located at ./build.sh. It is very much a work in progress, but once complete it will handle all platform dependencies, etc without requiring an initial MRI ruby install.

For now, here's the conventional (ruby-dependent) way of building:

$ [sudo] gem install bundler
$ curl -OL http://releases.rubinius.com/rubinius-<version>.tar.bz2
$ tar -xjf rubinius-release-<version>.tar.bz2
$ cd rubinius-<version>
$ [sudo] bundle install
$ <platform-specific configure command>
$ rake build
$ [sudo] rake install