Forum: Ruby Failed to build gem native extension

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Ben B. (Guest)
on 2009-02-09 00:10
Hi,

I want to install juggernaut but when running "gem install juggernaut" I
get the following error:

ERROR: Failed to build gem native extension.

It seems that it don't find 'windows.h'.

I installed ruby with the One-Click installer (i386-mswin32 version) but
I have only MinGW as a C/C++ compiler.

Juggernaut does not provide a precompiled build so how can I do if I
want to install it ?
Can I compile gem native extension with MinGW if I have install ruby
with the one click installer ?
Alex F. (Guest)
on 2009-02-09 04:48
(Received via mailing list)
Ben Bb wrote:

> Can I compile gem native extension with MinGW if I have install ruby
> with the one click installer ?

No, not really. Ruby stores information about how it itself was
compiled, and uses this information to compile extensions. For example,
if Ruby was compiled using 'cl.exe' (Microsoft's MSVC, used for the
current one-click installer), it will always try to build extensions
using 'cl', not 'gcc' (the name of the MingW compiler).


 > Juggernaut does not provide a precompiled build so how can I do if I
 > want to install it ?

Either

1) Get or build a MingW ruby, then install juggernaut to this ruby.
There are precompiled binaries available for MingW, for example, here:
http://dump.mmediasys.com/installer3/

2) Install the same Microsoft compiler used to build the OCI. This is
MSVC 6.0 (although practically, I've used MSVC 7.1 without
difficulties).

Microsoft has helpfully decided not offer these for download any more,
but they are not hard to get hold of (on CDs with programming books, or
perhaps, one might imagine, via some P2P file distribution network... )

I would go for 1), as you'll get a faster ruby with MingW than very old
MSVC, and MSVC is clumsy as a command-line compiler b/c the default
Windows shell is rubbish.

I've seen some ways suggested of hacking the OCI configuration to use
MingW as a compiler, but this seems to me messy and error-prone.

alex
Ben B. (Guest)
on 2009-02-09 16:56
Thanks but I still couldn't install juggernaut with mingw (gem install
eventmachine failed).

I reinstalled ruby-mswin32 and VC++ 6.0 and it worked fine :)
This topic is locked and can not be replied to.