Bug #888: zlib 1.2.3 does not work with Rubygems 1.3.1 (in Ruby 1.9.1) on Windows
http://redmine.ruby-lang.org/issues/show/888

Author: Chauk-Mean PROUM
Status: Open, Priority: Normal
Target version: 1.9.1 Release Candidate

Hi,

I built successfully zlib 1.1.4 (zlib-1.1.4-1-src.zip from http://jarp.does.notwork.org/win32) and ruby-1.9.1-preview2 from scratch with Visual C++ 2008 Express Edition SP1 on Windows XP SP2.
Ruby and Rubygems work well. I have been able to install locally (-l flag) rspec-1.1.11.gem for example.

I tried to create a new build with zlib 1.2.3 (zlib123.zip from http://zlib.net).
Now, the installation of a gem raises the following error :

D:\HOME>gem19 install -l rspec
C:/opt/ruby19/lib/ruby19/1.9.1/rubygems/package/tar_input.rb:212: [BUG] Segmenta
tion fault
ruby 1.9.1 (2008-12-01 revision 20438) [i386-mswin32_90]

-- control frame ----------
c:0034 p:---- s:0149 b:0149 l:000148 d:000148 CFUNC  :inflate
c:0033 p:0138 s:0145 b:0144 l:000143 d:000143 METHOD C:/opt/ruby19/lib/ruby19/1.
9.1/rubygems/package/tar_input.rb:212
c:0032 p:0034 s:0137 b:0137 l:000118 d:000136 BLOCK  C:/opt/ruby19/lib/ruby19/1.
9.1/rubygems/package/tar_input.rb:123
c:0031 p:0114 s:0133 b:0133 l:000121 d:000132 BLOCK  C:/opt/ruby19/lib/ruby19/1.
9.1/rubygems/package/tar_reader.rb:46
c:0030 p:---- s:0127 b:0127 l:000126 d:000126 FINISH
c:0029 p:---- s:0125 b:0125 l:000124 d:000124 CFUNC  :loop
c:0028 p:0011 s:0122 b:0122 l:000121 d:000121 METHOD C:/opt/ruby19/lib/ruby19/1.
9.1/rubygems/package/tar_reader.rb:37
c:0027 p:0012 s:0119 b:0119 l:000118 d:000118 METHOD C:/opt/ruby19/lib/ruby19/1.
9.1/rubygems/package/tar_input.rb:121
c:0026 p:0046 s:0115 b:0115 l:0025b4 d:000110 BLOCK  C:/opt/ruby19/lib/ruby19/1.
9.1/rubygems/format.rb:71
c:0025 p:0027 s:0112 b:0112 l:000111 d:000111 METHOD C:/opt/ruby19/lib/ruby19/1.
9.1/rubygems/package/tar_input.rb:20
c:0024 p:0095 s:0105 b:0105 l:000104 d:000104 METHOD C:/opt/ruby19/lib/ruby19/1.
9.1/rubygems/package.rb:56
c:0023 p:0043 s:0097 b:0097 l:0025b4 d:0025b4 METHOD C:/opt/ruby19/lib/ruby19/1.
9.1/rubygems/format.rb:67
c:0022 p:0018 s:0090 b:0090 l:000081 d:000089 BLOCK  C:/opt/ruby19/lib/ruby19/1.
9.1/rubygems/format.rb:51
c:0021 p:---- s:0089 b:0089 l:000088 d:000088 FINISH
c:0020 p:---- s:0087 b:0087 l:000086 d:000086 CFUNC  :open
c:0019 p:0157 s:0082 b:0082 l:000081 d:000081 METHOD C:/opt/ruby19/lib/ruby19/1.
9.1/rubygems/format.rb:50
c:0018 p:0209 s:0076 b:0076 l:000075 d:000075 METHOD C:/opt/ruby19/lib/ruby19/1.
9.1/rubygems/installer.rb:114
c:0017 p:---- s:0069 b:0069 l:000068 d:000068 FINISH
c:0016 p:---- s:0067 b:0067 l:000066 d:000066 CFUNC  :new
c:0015 p:0214 s:0062 b:0062 l:001e9c d:00263c BLOCK  C:/opt/ruby19/lib/ruby19/1.
9.1/rubygems/dependency_installer.rb:236
c:0014 p:---- s:0056 b:0056 l:000055 d:000055 FINISH
c:0013 p:---- s:0054 b:0054 l:000053 d:000053 CFUNC  :each
c:0012 p:0101 s:0051 b:0051 l:001e9c d:001e9c METHOD C:/opt/ruby19/lib/ruby19/1.
9.1/rubygems/dependency_installer.rb:219
c:0011 p:0049 s:0046 b:0046 l:000037 d:000045 BLOCK  C:/opt/ruby19/lib/ruby19/1.
9.1/rubygems/commands/install_command.rb:86
c:0010 p:---- s:0043 b:0043 l:000042 d:000042 FINISH
c:0009 p:---- s:0041 b:0041 l:000040 d:000040 CFUNC  :each
c:0008 p:0241 s:0038 b:0038 l:000037 d:000037 METHOD C:/opt/ruby19/lib/ruby19/1.
9.1/rubygems/commands/install_command.rb:83
c:0007 p:0071 s:0031 b:0031 l:000030 d:000030 METHOD C:/opt/ruby19/lib/ruby19/1.
9.1/rubygems/command.rb:136
c:0006 p:0194 s:0027 b:0027 l:000026 d:000026 METHOD C:/opt/ruby19/lib/ruby19/1.
9.1/rubygems/command_manager.rb:105
c:0005 p:0013 s:0021 b:0021 l:000020 d:000020 METHOD C:/opt/ruby19/lib/ruby19/1.
9.1/rubygems/command_manager.rb:75
c:0004 p:0089 s:0016 b:0016 l:000015 d:000015 METHOD C:/opt/ruby19/lib/ruby19/1.
9.1/rubygems/gem_runner.rb:39
c:0003 p:0207 s:0009 b:0009 l:000008 d:000008 TOP    C:/opt/ruby19/bin/gem19.bat
:32
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
c:0001 p:0000 s:0002 b:0002 l:000001 d:000001 TOP    <dummy toplevel>:300
---------------------------
DBG> : "C:/opt/ruby19/lib/ruby19/1.9.1/rubygems/package/tar_input.rb:212:in `inf
late'"
DBG> : "C:/opt/ruby19/lib/ruby19/1.9.1/rubygems/package/tar_input.rb:212:in `zip
ped_stream'"
DBG> : "C:/opt/ruby19/lib/ruby19/1.9.1/rubygems/package/tar_input.rb:123:in `blo
ck in each'"
DBG> : "C:/opt/ruby19/lib/ruby19/1.9.1/rubygems/package/tar_reader.rb:46:in `blo
ck in each'"
DBG> : "C:/opt/ruby19/lib/ruby19/1.9.1/rubygems/package/tar_reader.rb:37:in `loo
p'"
DBG> : "C:/opt/ruby19/lib/ruby19/1.9.1/rubygems/package/tar_reader.rb:37:in `eac
h'"
DBG> : "C:/opt/ruby19/lib/ruby19/1.9.1/rubygems/package/tar_input.rb:121:in `eac
h'"
DBG> : "C:/opt/ruby19/lib/ruby19/1.9.1/rubygems/format.rb:71:in `block in from_i
o'"
DBG> : "C:/opt/ruby19/lib/ruby19/1.9.1/rubygems/package/tar_input.rb:20:in `open
'"
DBG> : "C:/opt/ruby19/lib/ruby19/1.9.1/rubygems/package.rb:56:in `open'"
DBG> : "C:/opt/ruby19/lib/ruby19/1.9.1/rubygems/format.rb:67:in `from_io'"
DBG> : "C:/opt/ruby19/lib/ruby19/1.9.1/rubygems/format.rb:51:in `block in from_f
ile_by_path'"
DBG> : "C:/opt/ruby19/lib/ruby19/1.9.1/rubygems/format.rb:50:in `open'"
DBG> : "C:/opt/ruby19/lib/ruby19/1.9.1/rubygems/format.rb:50:in `from_file_by_pa
th'"
DBG> : "C:/opt/ruby19/lib/ruby19/1.9.1/rubygems/installer.rb:114:in `initialize'
"
DBG> : "C:/opt/ruby19/lib/ruby19/1.9.1/rubygems/dependency_installer.rb:236:in `
new'"
DBG> : "C:/opt/ruby19/lib/ruby19/1.9.1/rubygems/dependency_installer.rb:236:in `
block in install'"
DBG> : "C:/opt/ruby19/lib/ruby19/1.9.1/rubygems/dependency_installer.rb:219:in `
each'"
DBG> : "C:/opt/ruby19/lib/ruby19/1.9.1/rubygems/dependency_installer.rb:219:in `
install'"
DBG> : "C:/opt/ruby19/lib/ruby19/1.9.1/rubygems/commands/install_command.rb:86:i
n `block in execute'"
DBG> : "C:/opt/ruby19/lib/ruby19/1.9.1/rubygems/commands/install_command.rb:83:i
n `each'"
DBG> : "C:/opt/ruby19/lib/ruby19/1.9.1/rubygems/commands/install_command.rb:83:i
n `execute'"
DBG> : "C:/opt/ruby19/lib/ruby19/1.9.1/rubygems/command.rb:136:in `invoke'"
DBG> : "C:/opt/ruby19/lib/ruby19/1.9.1/rubygems/command_manager.rb:105:in `proce
ss_args'"
DBG> : "C:/opt/ruby19/lib/ruby19/1.9.1/rubygems/command_manager.rb:75:in `run'"
DBG> : "C:/opt/ruby19/lib/ruby19/1.9.1/rubygems/gem_runner.rb:39:in `run'"
DBG> : "C:/opt/ruby19/bin/gem19.bat:32:in `<main>'"

Issues have already been reported with zlib-1.2.3 and rubygems-1.2.x on Windows but I thought these have been fixed.

The detailed steps for the build :

zlib-1.2.3 build :
nmake -f win32\Makefile.msc
nmake -f win32\Makefile.msc test
The tests are OK.

zlib-1.2.3 installation :
- copy of zlib.h and zconf.h in a folder seen in INCLUDE
- copy of zlib.lib, zdll.lib and zdll.exp in a folder seen in LIB
- copy of zlib1.dll in a folder seen in PATH

ruby-1.9.1-preview2 build :
win32\configure --prefix=C:/opt/ruby19 --program-suffix=19
nmake
nmake install

Regards.

Chauk-Mean.


----------------------------------------
http://redmine.ruby-lang.org