Ruby 1.8.4 compilation failed on cygwin

My current ruby version is 1.8.1 under cygwin , I want to upgrade it to
1.8.4.

Here is the info about the enviroment:
cygwin version 2.427
window 98
ruby - 1.8.4 source code

After run ./configure and make, I got this kind of error:

cp …/…/./ext/tk/lib/tkextlib/winico/setup.rb
…/…/.ext/tkextlib/winico
cp …/…/./ext/tk/lib/tkextlib/winico/winico.rb
…/…/.ext/tkextlib/winico
cp …/…/./ext/tk/lib/tkextlib/SUPPORT_STATUS …/…/.ext/tkextlib
make[1]: Leaving directory /home/software/ruby-1.8.4/ext/tk' compiling tk/tkutil make[1]: Entering directory/home/software/ruby-1.8.4/ext/tk/tkutil’
gcc -g -O2 -I. -I…/…/… -I…/…/…/. -I…/…/…/./ext/tk/tkutil -c
tkutil.c
gcc -shared -s -Wl,–enable-auto-import,–export-all -L"…/…/…" -o
…/…/…/.ext/i386-cygwin/tkutil.so tkutil.o -lruby -lcrypt
make[1]: Leaving directory /home/software/ruby-1.8.4/ext/tk/tkutil' compiling win32ole make[1]: Entering directory/home/software/ruby-1.8.4/ext/win32ole’
gcc -g -O2 -I. -I…/… -I…/…/. -I…/…/./ext/win32ole
-DNONAMELESSUNION -DHAVE_WINDOWS_H -c win32ole.c
gcc -shared -s -Wl,–enable-auto-import,–export-all -L"…/…" -o
…/…/.ext/i386-cygwin/win32ole.so win32ole.o -lruby -ladvapi32
-lkernel32 -luser32 -luuid -loleaut32 -lole32 -lcrypt
win32ole.o(.text+0x17): In function QueryInterface': /home/software/ruby-1.8.4/ext/win32ole/win32ole.c:217: undefined reference to_IID_IUnknown’

win32ole.o(.text+0x9495): In function fev_initialize': /home/software/ruby-1.8.4/ext/win32ole/win32ole.c:5952: undefined reference to_IID_IConnectionPointContainer’
collect2: ld returned 1 exit status
make[1]: *** […/…/.ext/i386-cygwin/win32ole.so] Error 1
make[1]: Leaving directory `/home/software/ruby-1.8.4/ext/win32ole’
make: *** [all] Error 1

Any suggestion is welcome.

Thanks in advance.

uncutstone

There is the one click installer for Windows… any use?

Kris wrote:

There is the one click installer for Windows… any use?

I download a one click installer for windows, ruby184-16p3.exe.
I am sorry I don’t know how to install it under cygwin. I have a 1.8.1
ruby under cygwin and I want to upgrade it.

Your advice is welcome.

Thanks in advance.

uncutstone

On 5/24/06, uncutstone wu [email protected] wrote:

I download a one click installer for windows, ruby184-16p3.exe.
I am sorry I don’t know how to install it under cygwin. I have a 1.8.1
ruby under cygwin and I want to upgrade it.

Mixing cygwin and the one click installer is a bad idea from what I’ve
seen.

Based on your compiler errors, it seems that the compiler cannot find
the needed Windows headers to compile win32ole. You should probably
remove that from the list of extensions to compile. I can’t recall off
hand how this is done, but I believe it is in the README.

Ryan

Ryan L. wrote:

On 5/24/06, uncutstone wu [email protected] wrote:

I download a one click installer for windows, ruby184-16p3.exe.
I am sorry I don’t know how to install it under cygwin. I have a 1.8.1
ruby under cygwin and I want to upgrade it.

Mixing cygwin and the one click installer is a bad idea from what I’ve
seen.

Based on your compiler errors, it seems that the compiler cannot find
the needed Windows headers to compile win32ole. You should probably
remove that from the list of extensions to compile. I can’t recall off
hand how this is done, but I believe it is in the README.

Ryan

I gave up compiling it and finally upgraded it from cygwin.com using its
installation tools setup.exe.

Thanks,

uncutstone

On Thu, 25 May 2006 00:13:33 +0900, you wrote:

ruby under cygwin and I want to upgrade it.

Mixing cygwin and the one click installer is a bad idea from what I’ve seen

i don’t think he wanted to mix them. i think he just wanted it working
under cygwin.

http://home.cogeco.ca/~tsummerfelt1
telnet://ventedspleen.dyndns.org

Hi,

At Thu, 25 May 2006 00:13:33 +0900,
Ryan L. wrote in [ruby-talk:194361]:

Based on your compiler errors, it seems that the compiler cannot find
the needed Windows headers to compile win32ole. You should probably
remove that from the list of extensions to compile. I can’t recall off
hand how this is done, but I believe it is in the README.

Maybe, w32api package or something was missing.