(I realized I posted this originally on the Rails mailing list, when it
probably should have been here... oops!)
Hello...
Is there any word on when the eventmachine 0.12.2 and sqlite3-ruby 1.2.4
gems are going to be fixed to work when updating gems on a Windows (xp)
system? Doing a 'gem update' will cause errors for both, which causes
the rest of the updated to installed gems to not be updated. I've been
using a workaround script that skips the errors and continues updating,
but I'd be nice to get updated gems.
(I'm also seeing a strange thing with the webby gem - when doing a 'gem
outdated', I see:
webby (0.9.3 < 0.9.3)
and updating causes the "new" version to be installed, but gem outdated
still gives that message.)
Here are the errors for sqlite3-ruby and eventmachine, for what it's
worth...
eventmachine:
updating eventmachine...
ERROR: While executing gem ... (Gem::Installer::ExtensionBuildError)
ERROR: Failed to build gem native extension.
c:/ruby/bin/ruby.exe extconf.rb update eventmachine
checking for windows.h... no
nmake
'nmake' is not recognized as an internal or external command,
operable program or batch file.
Gem files will remain installed in
c:/ruby/lib/ruby/gems/1.8/gems/eventmachine-0
.12.2 for inspection.
Results logged to
c:/ruby/lib/ruby/gems/1.8/gems/eventmachine-0.12.2/ext/gem_mak
e.out
sqlite3-ruby:
updating sqlite3-ruby...
ERROR: While executing gem ... (Gem::Installer::ExtensionBuildError)
ERROR: Failed to build gem native extension.
c:/ruby/bin/ruby.exe extconf.rb update sqlite3-ruby
checking for fdatasync() in rt.lib... no
checking for sqlite3.h... no
nmake
'nmake' is not recognized as an internal or external command,
operable program or batch file.
Gem files will remain installed in
c:/ruby/lib/ruby/gems/1.8/gems/sqlite3-ruby-1
.2.4 for inspection.
Results logged to
c:/ruby/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.4/ext/sqlite3_
api/gem_make.out
on 22.10.2008 15:39
on 22.10.2008 17:17
Hi, <snip> > 'nmake' is not recognized as an internal or external command, > operable program or batch file. Looks like eventmachine is a C extension. You either don't have a compiler installed, or your shell's environment isn't setup right. Therefore, it fails. Or did I miss the point of your question somehow? Regards, Dan
on 22.10.2008 19:10
Daniel Berger wrote: > Hi, > > <snip> > >> 'nmake' is not recognized as an internal or external command, >> operable program or batch file. > > Looks like eventmachine is a C extension. You either don't have a > compiler installed, or your shell's environment isn't setup right. > Therefore, it fails. > > Or did I miss the point of your question somehow? > > Regards, > > Dan Whoops...forgot to mention.. I do have (various version) of Visual Studio loaded - VS 6, VS 2003, VS 2005, VS 2008. I've tried with each versions of VSVARS32.bat, which sets the env vars for the various environments. This is the error, for eventmachine, after running the VSVARS32.bat: ERROR: While executing gem ... (Gem::Installer::ExtensionBuildError) ERROR: Failed to build gem native extension. c:/ruby/bin/ruby.exe extconf.rb update eventmachine checking for windows.h... yes checking for winsock.h... yes checking for main() in kernel32.lib... yes checking for main() in rpcrt4.lib... yes checking for main() in gdi32.lib... yes checking for main() in ssleay32.lib... no creating Makefile nmake Microsoft (R) Program Maintenance Utility Version 6.00.8168.0 Copyright (C) Microsoft Corp 1988-1998. All rights reserved. cl -I. -I. -Ic:/ruby/lib/ruby/1.8/i386-mswin32 -I. -MD -Zi -O2b2xg- -G6 -DHAVE_WINDOWS_H -DHAVE_WINSOCK_H -D OS_WIN32 -D BUILD_FOR_RUBY -EHs -GR -D WI HOUT_SSL -c -Tpbinder.cpp Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8168 for 80x86 Copyright (C) Microsoft Corp 1984-1998. All rights reserved. binder.cpp cl -I. -I. -Ic:/ruby/lib/ruby/1.8/i386-mswin32 -I. -MD -Zi -O2b2xg- -G6 -DHAVE_WINDOWS_H -DHAVE_WINSOCK_H -D OS_WIN32 -D BUILD_FOR_RUBY -EHs -GR -D WI HOUT_SSL -c -Tpcmain.cpp Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8168 for 80x86 Copyright (C) Microsoft Corp 1984-1998. All rights reserved. cmain.cpp cl -I. -I. -Ic:/ruby/lib/ruby/1.8/i386-mswin32 -I. -MD -Zi -O2b2xg- -G6 -DHAVE_WINDOWS_H -DHAVE_WINSOCK_H -D OS_WIN32 -D BUILD_FOR_RUBY -EHs -GR -D WI HOUT_SSL -c -Tpcplusplus.cpp Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8168 for 80x86 Copyright (C) Microsoft Corp 1984-1998. All rights reserved. cplusplus.cpp cl -I. -I. -Ic:/ruby/lib/ruby/1.8/i386-mswin32 -I. -MD -Zi -O2b2xg- -G6 -DHAVE_WINDOWS_H -DHAVE_WINSOCK_H -D OS_WIN32 -D BUILD_FOR_RUBY -EHs -GR -D WI HOUT_SSL -c -Tped.cpp Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8168 for 80x86 Copyright (C) Microsoft Corp 1984-1998. All rights reserved. ed.cpp cl -I. -I. -Ic:/ruby/lib/ruby/1.8/i386-mswin32 -I. -MD -Zi -O2b2xg- -G6 -DHAVE_WINDOWS_H -DHAVE_WINSOCK_H -D OS_WIN32 -D BUILD_FOR_RUBY -EHs -GR -D WI HOUT_SSL -c -Tpem.cpp Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8168 for 80x86 Copyright (C) Microsoft Corp 1984-1998. All rights reserved. em.cpp em.cpp(1193) : error C2374: 'i' : redefinition; multiple initialization em.cpp(1186) : see declaration of 'i' NMAKE : fatal error U1077: 'cl' : return code '0x2' Stop. Gem files will remain installed in c:/ruby/lib/ruby/gems/1.8/gems/eventmachine- .12.2 for inspection. Results logged to c:/ruby/lib/ruby/gems/1.8/gems/eventmachine-0.12.2/ext/gem_ma e.out
on 22.10.2008 19:25
On Oct 22, 11:08 am, "John T." <joh...@charter.net> wrote: > > Therefore, it fails. > environments. > checking for main() in rpcrt4.lib... yes > -O2b2xg- -G6 > -DHAVE_WINDOWS_H -DHAVE_WINSOCK_H -D OS_WIN32 -D BUILD_FOR_RUBY -EHs > -GR -D WI > HOUT_SSL -c -Tped.cpp > Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8168 for > 80x86 > Copyright (C) Microsoft Corp 1984-1998. All rights reserved. > > em.cpp > em.cpp(1193) : error C2374: 'i' : redefinition; multiple initialization > em.cpp(1186) : see declaration of 'i' > NMAKE : fatal error U1077: 'cl' : return code '0x2' > Stop. Hm. I had to make one (seemingly unrelated) tweak to em.cpp to build eventmachine 0.12.2 with VC++ 8 on Windows XP Pro: --- em.orig Wed Oct 22 11:13:48 2008 +++ em.cpp Wed Oct 22 11:20:48 2008 @@ -31,6 +31,9 @@ #ifdef OS_WIN32 unsigned gTickCountTickover; unsigned gLastTickCount; +#ifndef EINTR +#define EINTR WSAEINTR +#endif #endif After I made that change it seemed to build fine. In any case, it's not a gem issue, but an issue with eventmachine. I noticed they aren't shipping a gem with a pre-built binary with the latest release, which would definitely be handy for the Windows users. Regards, Dan