Hello Folks,
A follow up on the issue Ralph was experiencing:
We setup a TeamViewer session where I was able to confirm that
RailsInstaller 2.1.0 failed to load digest/md5.so extension, which is
used by RubyGems/Bundler and also openssl.so extension.
Installer were once again downloaded and verified (beyond the
self-check the installer performs) without issues. Installer size was
correct.
We installed side-by-side RubyInstaller to confirm if the same issue
happened with it, and it didn't. RubyInstaller 1.9.3 was able to load
digest/md5.so and openssl.so extension without problems.
After closer inspection, the file size of these extensions differ considerably:
RailsInstaller:
Directory of C:\RailsInstaller\Ruby1.9.3\lib\ruby\1.9.1\i386-mingw32\digest
09/24/2012 08:35 AM <DIR> .
09/24/2012 08:35 AM <DIR> ..
02/16/2012 11:31 AM 9,216 bubblebabble.so
02/16/2012 11:31 AM 8,192 md5.so
02/16/2012 11:31 AM 8,192 rmd160.so
02/16/2012 11:31 AM 8,192 sha1.so
02/16/2012 11:31 AM 8,704 sha2.so
5 File(s) 42,496 bytes
And RubyInstaller:
Directory of C:\Ruby193\lib\ruby\1.9.1\i386-mingw32\digest
09/24/2012 08:38 AM <DIR> .
09/24/2012 08:38 AM <DIR> ..
04/21/2012 10:36 AM 55,092 bubblebabble.so
04/21/2012 10:36 AM 52,934 md5.so
04/21/2012 10:36 AM 53,524 rmd160.so
04/21/2012 10:36 AM 53,490 sha1.so
04/21/2012 10:36 AM 56,742 sha2.so
5 File(s) 271,782 bytes
Indicating that somehow those were corrupt.
The only AV software running was BitDefender, but the issue can't be
attributed to it since things were working for RubyInstaller even when
we installed and removed it several times, but consistently failing
for RailsInstaller one.
We decided to extract RubyInstaller binary package on top of
RailsInstaller installation, which solved all the gem/bundler issues
mentioned before.
After this, I've required to re-install DevKit using "ruby dk.rb
install --force" inside DevKit directory to ensure the right compiler
paths were used.
When attempted to verify DevKit installation by performing "gem
install json" we exposed another failure:
make
0 [main] us 0 init_cheap: VirtualAlloc pointer is null, Win32 error 487
AllocationBase 0xD00000, BaseAddress 0xDA0000, RegionSize 0x22F000, State 0x1000
C:\RailsInstaller\DevKit\bin\make.exe: *** Couldn't reserve space for
cygwin's heap, Win32 error 0
This failure is caused by msys-1.0.dll when attempts to load it in the
same memory address that another DLL is allocated. Normally this
wouldn't be a problem, but seems msys-1.0.dll lacks relocation
information so Windows can't perform that operation dynamically.
Since this is a not-so-common but known issue, we followed the
instructions already mentioned in RubyInstaller group:
https://groups.google.com/forum/?hl=en_US&fromgroups=#!msg/rubyinstaller/yQSsX-Gv008/7TyKpn7dn1sJ
- Download rebase.exe
- cd into DevKit\bin directory
- perform "rebase -b 0x30000000 msys-1.0.dll"
After this, make.exe started to work normally and "gem install json" succeeded.
Posting this here for future references.
Regards,