C-extension problem

Dear list.

After reading through this walkthrough (1) of compiling c-extensions on
Windows I was finally able to build the pickaxe example on two different
PC's. One with Visual Studio 2003, the other with Visual C++ express 2005.
Both compiled, only one worked. This raises some issues.

I) Should I try to fix this? I mean, will working with C-extensions bring
   me down the road of never-ending versioning/library/compiler/...
   problems.

II) If yes, how to fix the technical issues at hand today?

Any suggestions would be very welcome.

Anyway, here's what happened.

Building on VS 2003 gave a working result at first try. C++ express 2005
however gave two distinct errors when running

irb: require 'Test'

GUI warning-box:
   ruby.exe - Unable to Locate Component
   This application has failed to start because MSVCR80.dll was not found.
   Re-installing the application may fix this problem.

irb: Load error 126 ...

After searching from mscvr80.dll, finding it here(2) and copying it to
c:\windows\system32 the following error appeared:

irb: require 'Test'

GUI warning-box
   Microsoft Visual C++ Runtime Library
   Rumtime Error!
   Program: c:\progra~1\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.

irb: Load error 1114...

All the best
Jon Egil Strand

(1) http://www.koontzfamily.org/david/blog/?p=230
Note that I had to install Microsofts Platform SDK from MSDN seperately.

(2)
C:\WINDOWS\WinSxS\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_0de06acd

Hello,
How did you compile the example in 2003? I am tring to do it with the
makefile not a compiler. When I create a blank c++ console project for the
code it gives me linking errors.
Thank you for any help
Becker

···

On 1/21/06, Jon Egil Strand <jes@luretanker.no> wrote:

Dear list.

After reading through this walkthrough (1) of compiling c-extensions on
Windows I was finally able to build the pickaxe example on two different
PC's. One with Visual Studio 2003, the other with Visual C++ express 2005.
Both compiled, only one worked. This raises some issues.

I) Should I try to fix this? I mean, will working with C-extensions bring
   me down the road of never-ending versioning/library/compiler/...
   problems.

II) If yes, how to fix the technical issues at hand today?

Any suggestions would be very welcome.

Anyway, here's what happened.

Building on VS 2003 gave a working result at first try. C++ express 2005
however gave two distinct errors when running

irb: require 'Test'

GUI warning-box:
   ruby.exe - Unable to Locate Component
   This application has failed to start because MSVCR80.dll was not found.
   Re-installing the application may fix this problem.

irb: Load error 126 ...

After searching from mscvr80.dll, finding it here(2) and copying it to
c:\windows\system32 the following error appeared:

irb: require 'Test'

GUI warning-box
   Microsoft Visual C++ Runtime Library
   Rumtime Error!
   Program: c:\progra~1\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.

irb: Load error 1114...

All the best
Jon Egil Strand

(1) http://www.koontzfamily.org/david/blog/?p=230
Note that I had to install Microsofts Platform SDK from MSDN seperately.

(2)

C:\WINDOWS\WinSxS\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_0de06acd

Avoid compiling with Visual C++ 2005 for now. There are some ...
changes that Microsoft has made. I am working on compiling with Visual
C++ 2005 and have a couple of patches to finish trying from Nobu that
may help alleviate this situation.

-austin

···

On 21/01/06, Jon Egil Strand <jes@luretanker.no> wrote:

After reading through this walkthrough (1) of compiling c-extensions on
Windows I was finally able to build the pickaxe example on two different
PC's. One with Visual Studio 2003, the other with Visual C++ express 2005.
Both compiled, only one worked. This raises some issues.

--
Austin Ziegler * halostatue@gmail.com
               * Alternate: austin@halostatue.ca

Becker

Sorry about the lack of details. I also used the makefile approach.

I used textpad, a simple text-editor, for writing the .c-code and then
extconf.rb and nmake.exe from VS 2003.exe. The walkthrough in footnote (1)
was very helpfull, although I must agree that this i cumbersome.

Note that I had to install not only VS2003, but also the Platform SDK (for
2003-server, but works for my XP-sp2) to get it all going.

···

On Sun, 22 Jan 2006, ruby talk wrote:

Hello,
How did you compile the example in 2003? I am tring to do it with the
makefile not a compiler. When I create a blank c++ console project for the
code it gives me linking errors.
Thank you for any help
Becker

--
Jon Egil Strand
Phone: +47 98232340
jes@luretanker.no

I get this error when tring nmake.
        cl -nologo -LD -FeTest.so TcTest.obj Test.obj msvcrt-ruby18.lib
oldname
s.lib user32.lib advapi32.lib wsock32.lib -link -incremental:no -debug
-opt:ref
-opt:icf -dll -libpath:"c:/ruby/lib" -def:Test-i386-mswin32.def
cl : Command line warning D4024 : unrecognized source file type '.', object
file
assumed
LINK : fatal error LNK1104: cannot open file '.'
NMAKE : fatal error U1077: 'F:\WINDOWS\system32\cmd.exe' : return code '0x2'
Stop.

I dont see where in the make file that line is. also where in that
line there just just a dot?

Becker

···

On 1/21/06, Austin Ziegler <halostatue@gmail.com> wrote:

On 21/01/06, Jon Egil Strand <jes@luretanker.no> wrote:
> After reading through this walkthrough (1) of compiling c-extensions on
> Windows I was finally able to build the pickaxe example on two different
> PC's. One with Visual Studio 2003, the other with Visual C++ express 2005.
> Both compiled, only one worked. This raises some issues.

Avoid compiling with Visual C++ 2005 for now. There are some ...
changes that Microsoft has made. I am working on compiling with Visual
C++ 2005 and have a couple of patches to finish trying from Nobu that
may help alleviate this situation.

-austin
--
Austin Ziegler * halostatue@gmail.com
               * Alternate: austin@halostatue.ca

Sorry to bug you for more details. How do you run nmake.exe from 2003?

Becker

···

On 1/21/06, Jon Egil Strand <jes@luretanker.no> wrote:

Becker

Sorry about the lack of details. I also used the makefile approach.

I used textpad, a simple text-editor, for writing the .c-code and then
extconf.rb and nmake.exe from VS 2003.exe. The walkthrough in footnote (1)
was very helpfull, although I must agree that this i cumbersome.

Note that I had to install not only VS2003, but also the Platform SDK (for
2003-server, but works for my XP-sp2) to get it all going.

On Sun, 22 Jan 2006, ruby talk wrote:

> Hello,
> How did you compile the example in 2003? I am tring to do it with the
> makefile not a compiler. When I create a blank c++ console project for
the
> code it gives me linking errors.
> Thank you for any help
> Becker
>

--
Jon Egil Strand
Phone: +47 98232340
jes@luretanker.no

Again, if you're trying this with Visual Studio 2005, please hold off.
I am preparing a comprehensive set of instructions.

-austin

···

On 22/01/06, ruby talk <rubytalk@gmail.com> wrote:

I get this error when tring nmake.
        cl -nologo -LD -FeTest.so TcTest.obj Test.obj msvcrt-ruby18.lib
oldname
s.lib user32.lib advapi32.lib wsock32.lib -link -incremental:no -debug
-opt:ref
-opt:icf -dll -libpath:"c:/ruby/lib" -def:Test-i386-mswin32.def
cl : Command line warning D4024 : unrecognized source file type '.', object
file
assumed
LINK : fatal error LNK1104: cannot open file '.'
NMAKE : fatal error U1077: 'F:\WINDOWS\system32\cmd.exe' : return code '0x2'
Stop.

I dont see where in the make file that line is. also where in that
line there just just a dot?

--
Austin Ziegler * halostatue@gmail.com
               * Alternate: austin@halostatue.ca

Becker

Sorry to bug you for more details. How do you run nmake.exe from 2003?

No problem. Actually I don't run it from within 2003, I open a
command-window, cd to the right directory and just run nmake.

You should really read this:
http://www.koontzfamily.org/david/blog/?p=230

All the best
JE

hello
A few more questions, Where was your source file? I used the one click
installer and i do not see the scr folder. I downloaded the tar source
from the ruby website and i am using that.

Nmake. When i type it in the command line it does not recognize it. I
set up the variables for the system like the website said to. If I use
the nmake in the VC7\bin i get the cl is not recognized

The echo shows what should be there and extconf.rb does what is should.

Its the damn Nmake!

Becker

···

On 1/21/06, Jon Egil Strand <jes@luretanker.no> wrote:

Becker

> Sorry to bug you for more details. How do you run nmake.exe from 2003?

No problem. Actually I don't run it from within 2003, I open a
command-window, cd to the right directory and just run nmake.

You should really read this:
http://www.koontzfamily.org/david/blog/?p=230

All the best
JE