Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Ruby > Building one-click installer compatible C extensions on windows with VS2005

Reply
Thread Tools

Building one-click installer compatible C extensions on windows with VS2005

 
 
Harold Hausman
Guest
Posts: n/a
 
      04-27-2007
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

 
Reply With Quote
 
 
 
 
Jano Svitok
Guest
Posts: n/a
 
      04-27-2007
On 4/27/07, Harold Hausman <(E-Mail Removed)> wrote:
> 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


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

 
Reply With Quote
 
 
 
 
bbiker
Guest
Posts: n/a
 
      04-27-2007
On Apr 27, 11:21 am, "Jano Svitok" <(E-Mail Removed)> wrote:
> On 4/27/07, Harold Hausman <(E-Mail Removed)> wrote:
>
>
>
>
>
> > 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

>
> 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- 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

 
Reply With Quote
 
Jano Svitok
Guest
Posts: n/a
 
      04-27-2007
On 4/27/07, bbiker <(E-Mail Removed)> wrote:
> On Apr 27, 11:21 am, "Jano Svitok" <(E-Mail Removed)> wrote:
> > On 4/27/07, Harold Hausman <(E-Mail Removed)> wrote:
> >
> >
> >
> >
> >
> > > 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

> >
> > 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- 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


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)

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Cisco CCX (Cisco Compatible eXtensions) and Windows Zero Configura Peter Wireless Networking 0 02-14-2008 01:34 PM
nth_element() not compatible in VS2005 zhouchengly@gmail.com C++ 7 11-07-2006 05:50 PM
can distutils windows installer invoke another distutils windows installer timw.google Python 1 05-11-2006 10:07 PM
making ie compatible code firefox compatible using Greasemonkey? pantagruel Javascript 0 02-17-2006 02:26 PM
win32 extentions-- installer not compatible with python 2.3 SoftwareTester Python 1 11-17-2004 09:05 AM



Advertisments