Note: This information is valid only for the legacy DevKit
devkit-3.4.5r3-20091110.7z available from the RubyInstaller Archives. For more information on the current DevKit, please refer to the Development Kit page.
Rather than directing you to the MinGW site and telling you which packages to install, we’ve bundled the required pieces into a single archive so that you can conveniently enable your RubyInstaller installation to build many native C extensions.
Installing the DevKit is usually a simple two-step process:
To install the Development Kit, you’ll need to have 7-Zip installed.
After you’ve downloaded the DevKit, extract its contents into your RubyInstaller installation directory (
C:\Ruby for example). This process results in the key files from DevKit’s
bin directory (eg –
sh.bat) being extracted into your Ruby installations
bin directory and a (potentially partially) configured MSys/MinGW environment. Your RubyInstaller installation directory should now look like:
|-- bin/ |-- devkit/ |-- include/ |-- lib/ |-- share/ `-- INSTALL.txt
If you have Ruby installed somewhere other than the default
C:\Ruby directory, you’ll need to change the
<INSTALL_DIR>/devkit/msys/1.0.11/etc/fstab file contents to properly point to the right directories for
/usr/local. This is usually as easy as replacing the
C:/Ruby text within the
fstab file with the directory location where you’ve installed the RubyInstaller.
For example, if you installed RubyInstaller to
D:\ruby19 you would update your
D:/ruby19/devkit/msys/1.0.11/etc/fstab to look like:
D:/ruby19/devkit/gcc/3.4.5 /mingw D:/ruby19/devkit/msys/1.0.11/usr/local /usr/local
The batch files in
<INSTALL_DIR>/bin allow GCC, make and sh to be used in the extension compilation process without having to add additional directories into your PATH. MsysGit does the same thing with the “git command-line” option.
You can check if you have your PATH setup by running this command:
D:\ruby19\bin>sh which autoconf /usr/local/bin/autoconf
it should say
/usr/local/bin/autoconf. If it says nothing then your PATH environment variable isn’t setup correctly.
Simply having the DevKit installed should allow for many native C extensions to build without problems. However, some extensions may require additional header and library files to also be installed, and still other extensions may need additional work done by the authors in order to get them to compile with the MSys/MinGW based DevKit. If you have problems, please drop us a line at our RubyInstaller Google Group