# Building one-click installer compatible C extensions on wind

**URL:** <https://www.ruby-forum.com/t/building-one-click-installer-compatible-c-extensions-on-wind/93106>\
**Category:** Ruby\
**Created:** [April 27, 2007, 4:39pm UTC](https://www.ruby-forum.com/t/building-one-click-installer-compatible-c-extensions-on-wind/93106 "2007-04-27T16:39:26Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Harold\_H](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/6de8d8/32.png) [@Harold\_H](https://www.ruby-forum.com/u/Harold_H)\
**Post date:** [April 27, 2007, 4:39pm UTC](https://www.ruby-forum.com/t/building-one-click-installer-compatible-c-extensions-on-wind/93106/1 "2007-04-27T16:39:26Z")

</div>

Hi.

I had an idea for a quick C extension and thought I’d see what it was  
like to build one. I’m pretty familiar with readme.ext as I’ve done  
some things embedding Ruby recently that have all gone splendidly.

However, when I tried first to build my new extension using nmake on a  
makefile generated by my extconf.rb I was greeted with lovely errors  
about my MSC\_VER being unmatch. 😃

I’ve read about this before on the various threads that pop up on this  
list from time to time, but just now I think I’m coming to understand  
the pain. I circumvented the various MSC\_VER checks, and got my  
extension to build, but unsurprisingly, when I try to require it into  
a script, I see this:

* * *

## Microsoft Visual C++ Runtime Library

Runtime Error!

Program: c:\ruby\bin\ruby.exe

R6034

An application has made an attempt to load the C runtime library  
incorrectly.  
Please contact the application’s support team for more information.

* * *

## OK

Yay!

So I can only imagine that the maintainers of the one-click installer  
are very happy with their current setup, and I can’t really blame  
them, it’s pretty rad and has worked perfectly for me up until this  
point. (:

Various googling and reading hasn’t really given me the info I need,  
so I have a couple quick questions.

If the one-click installer did happen to be built with 2005, would I  
be having this problem?

And, what should I do? Is it possible to build one-click-installer  
compatible C extensions with VS2005? Or do I need to switch to cygwin  
or MingGW, if so witch?

A million thanks for your time,  
-Harold

---

<div class="post-metadata">

**Author:** ![Harold\_H](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/6de8d8/32.png) [@Harold\_H](https://www.ruby-forum.com/u/Harold_H)\
**Post date:** [April 27, 2007, 5:22pm UTC](https://www.ruby-forum.com/t/building-one-click-installer-compatible-c-extensions-on-wind/93106/2 "2007-04-27T17:22:32Z")

</div>

On 4/27/07, Harold H. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> I’ve read about this before on the various threads that pop up on this  
> Program: c:\ruby\bin\ruby.exe
> 
> If the one-click installer did happen to be built with 2005, would I  
> be having this problem?
> 
> And, what should I do? Is it possible to build one-click-installer  
> compatible C extensions with VS2005? Or do I need to switch to cygwin  
> or MingGW, if so witch?
> 
> A million thanks for your time,  
> -Harold

Hi,

1. Ruby 1.8.6. should be compilable by VS2005. The one-click installer  
recompilation is not that hard… for me it was something about three  
hours to get it built (learning and fixing included). Just read the  
readme’s and howto’s for ruby and oci. I had to manually download  
sources for some of the bundled-in extensions.

2. If you compile ruby with VS2005 you have to compile all the  
extensions with it, so binary gems from rubyforge won’t be for you.

3. The standard one-click is compiled with VS6, and so are all the  
binary gems on rubyforge. If you want to be compatible, you can use  
either VS6 or mingw. cygwin is different.

4. You might be lucky and build VS2005 extension that works with VS6  
ruby, but you have to avoid some functions. I won’t tell you which, I  
suspect they are those dealing with files, and errno, and… 😉  
AFAIK, the problem is in incompatible msvcrtXX.dll.

Jano

---

<div class="post-metadata">

**Author:** ![Harold\_H](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/6de8d8/32.png) [@Harold\_H](https://www.ruby-forum.com/u/Harold_H)\
**Post date:** [April 27, 2007, 9:20pm UTC](https://www.ruby-forum.com/t/building-one-click-installer-compatible-c-extensions-on-wind/93106/3 "2007-04-27T21:20:52Z")

</div>

On Apr 27, 11:21 am, “Jano S.” [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> > some things embedding Ruby recently that have all gone splendidly.
> 
> > Please contact the application’s support team for more information.  
> > point. (:
> 
> AFAIK, the problem is in incompatible msvcrtXX.dll.
> 
> Jano- Hide quoted text -
> 
> - Show quoted text -

VS6 is no longer available from Microsoft … so where can someone  
obtain it?

Please, excuse newbie question.

Are you saying that mingw can compile code compatible with mswin32?

Thanks

bbiker

---

<div class="post-metadata">

**Author:** ![Harold\_H](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/6de8d8/32.png) [@Harold\_H](https://www.ruby-forum.com/u/Harold_H)\
**Post date:** [April 27, 2007, 11:38pm UTC](https://www.ruby-forum.com/t/building-one-click-installer-compatible-c-extensions-on-wind/93106/4 "2007-04-27T23:38:26Z")

</div>

On 4/27/07, bbiker [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> > > like to build one. I’m pretty familiar with readme.ext as I’ve done  
> > > a script, I see this:  
> > > An application has made an attempt to load the C runtime library incorrectly.  
> > > them, it’s pretty rad and has worked perfectly for me up until this  
> > > or MingGW, if so witch?  
> > > sources for some of the bundled-in extensions.  
> > > suspect they are those dealing with files, and errno, and… 😉
> 
> Are you saying that mingw can compile code compatible with mswin32?
> 
> Thanks
> 
> bbiker

VS6 is not officially available - due to java settlement with sun (the  
java version bundled with VS6 was not compliant) - the install files  
are on MSDN CDs/DVDs, but you cannot obtain new keys. So you need to  
find an old key.

Mingw is binary compatible with VS6 (or, that is what was written here  
by other people)
