Bug #9936

wrong zlib1.dll installed on windows

Added by Claudio Bley about 1 year ago. Updated about 1 year ago.

[ruby-core:63133]
Status:Third Party's Issue
Priority:Normal
Assignee:cruby-windows
ruby -v:ruby 2.0.0p481 (2014-05-08) [x64-mingw32] Backport:2.0.0: UNKNOWN, 2.1: UNKNOWN

Description

I'm using Windows 7 64bit.

Running e.g. "gem help commands" results in the following error messages:

ERROR:  Loading command: build (LoadError)
        193: %1 is not a valid Win32 application.   - C:/Tools/ruby200/lib/ruby/2.0.0/x64-mingw32/zlib.so
ERROR:  Loading command: check (LoadError)
        193: %1 is not a valid Win32 application.   - C:/Tools/ruby200/lib/ruby/2.0.0/x64-mingw32/zlib.so
ERROR:  Loading command: cleanup (LoadError)
        193: %1 is not a valid Win32 application.   - C:/Tools/ruby200/lib/ruby/2.0.0/x64-mingw32/zlib.so
ERROR:  Loading command: generate_index (LoadError)
        193: %1 is not a valid Win32 application.   - C:/Tools/ruby200/lib/ruby/2.0.0/x64-mingw32/zlib.so
ERROR:  Loading command: install (LoadError)
        193: %1 is not a valid Win32 application.   - C:/Tools/ruby200/lib/ruby/2.0.0/x64-mingw32/zlib.so
ERROR:  Loading command: pristine (LoadError)
        193: %1 is not a valid Win32 application.   - C:/Tools/ruby200/lib/ruby/2.0.0/x64-mingw32/zlib.so
ERROR:  Loading command: push (LoadError)
        193: %1 is not a valid Win32 application.   - C:/Tools/ruby200/lib/ruby/2.0.0/x64-mingw32/zlib.so
ERROR:  Loading command: rdoc (LoadError)
        193: %1 is not a valid Win32 application.   - C:/Tools/ruby200/lib/ruby/2.0.0/x64-mingw32/zlib.so
ERROR:  Loading command: server (LoadError)
        193: %1 is not a valid Win32 application.   - C:/Tools/ruby200/lib/ruby/2.0.0/x64-mingw32/zlib.so
ERROR:  Loading command: specification (LoadError)
        193: %1 is not a valid Win32 application.   - C:/Tools/ruby200/lib/ruby/2.0.0/x64-mingw32/zlib.so
ERROR:  Loading command: uninstall (LoadError)
        193: %1 is not a valid Win32 application.   - C:/Tools/ruby200/lib/ruby/2.0.0/x64-mingw32/zlib.so
ERROR:  Loading command: unpack (LoadError)
        193: %1 is not a valid Win32 application.   - C:/Tools/ruby200/lib/ruby/2.0.0/x64-mingw32/zlib.so
ERROR:  Loading command: update (LoadError)
        193: %1 is not a valid Win32 application.   - C:/Tools/ruby200/lib/ruby/2.0.0/x64-mingw32/zlib.so

Seems zlib.so depends on zlib1.dll, but the zlib1.dll delivered using the installer is a 32bit instead of 64bit DLL causing the errors.

Replacing the zlib1.dll in the bin/ folder with a proper 64bit version makes the "gem help commands" succeed.

History

#1 Updated by Usaku NAKAMURA about 1 year ago

  • Status changed from Open to Third Party's Issue

Please report to the RubyInstaller team, though they has read this ML.

#2 Updated by Luis Lavena about 1 year ago

Hello Claudio,

Both installer and package of Ruby 2.0.0-p481 for x64 contains a 64-bits version of zlib1.dll

You can confirm this using Dependency Walker and see the output I've just collected from it:

https://gist.github.com/luislavena/40a016b0bd41d9408b92

You will see at line 98 the legend "6" to indicate 64-bits modules and on line 105 and 106 that it imports 64-bit modules.

Perhaps there is another zlib1.dll in your system that is affecting?

I recommend you submit your RubyInstaller issues to RubyInstaller itself:

https://github.com/oneclick/rubyinstaller/issues

If you believe our packages are broken, but will be great if you can confirm the MD5 checksums to verify there was no alteration in the downloads you made.

Cheers.

#3 Updated by Luis Lavena about 1 year ago

Hello Claudio,

Me again, once last thing I forgot to mention.

The error message you see: "%1 is not a valid Win32 application." might be associated with something else.

Please take a look to our troubleshooting page:

https://github.com/oneclick/rubyinstaller/wiki/Troubleshooting#fraps_violation

Perhaps you're affected by it or Detours being installed in your system.

Hope that helps.

#4 Updated by Heesob Park about 1 year ago

I confirmed the error message "%1 is not a valid Win32 application." occurred with 32-bit zlib1.dll and 64-bit ruby.exe combination.

I guess that Claudio installed Ruby 2.0.0-p481 (x64) to C:/Tools/ruby200 folder first.
And intentionally or accidentally, he installed Ruby 2.0.0-p481 to the same C:/Tools/ruby200 folder.
Or vice versa.

Also available in: Atom PDF