Forums | Admin

Discussion Forums: help

Start New Thread Start New Thread

 

By: Murmansk Manny
RE: msvcrt-ruby18.dll not found in daemon [ reply ]  
2009-12-20 15:23
Sorry, I forgot to say that I was using Ruby1.9.1 from rubyinstaller (Ruby 1.9.1-p243), and with the Development Kit (devkit-3.4.5r3-20091110.7z) installed.

This windows automated installer includes several libraries, and a compiler chain (based on mingw) that the oficial ruby installer lacks, so it's easier for me to install and compile new gems. Except for win32-daemon.

I was looking for any workaround, but I didn't found any, but returning to the official ruby 1.9.1 installer.

By: Dan Rathbun
RE: msvcrt-ruby18.dll not found in daemon [ reply ]  
2009-12-18 10:58
By the way... a v1.9.1 Ruby update has been released. see:

http://www.ruby-lang.org/en/news/2009/12/07/ruby-1-9-1-p376-is-released/

By: Dan Rathbun
RE: msvcrt-ruby18.dll not found in daemon [ reply ]  
2009-12-18 08:14
The Ruby Interpreter DLL for v 1.9.1 has filename "msvcrt-ruby191.dll" and is located (as in all Ruby versions,) in the bin directory (on win32 this is 'usually' C:\ruby\bin ), but looks like you modified the 'usual' way of folder naming. [varying from the normal way could be a problem, if an extension or gem doesn't check your Environment Vars or if you don't have certain vars set (or set correctly.) For instance if the gem 'takes for granted' that the ruby bin folder is "C:/ruby/bin" without checking, and you varied yours to be "C:/Ruby19/bin".]

So it seems kinda obvious that the gem edition you tried to install was a version for a Ruby in the 1.8.x branch.

(1) make sure all Environment Vars are set for your 'special' pathnames, or reinstall ruby with the standard pathname C:/ruby/...

(2) See if there is a newer version of the gem, or tweek the files to look for ver 1.9.1 instead of 1.8.x

also, it looks like you may be running ruby edition for mingwin ? WHY?

If you have a PC, shouldn't you have intsalled the Ruby edition for [i386-mswin32] ??

.. I am under the impression that mingwin is for a emulated Win32 'virtual machine' (similar to the WINE emulator running on Apple hardware.) [.. could be wrong, not an expert on emulators tho..)

By: Murmansk Manny
msvcrt-ruby18.dll not found in daemon [ reply ]  
2009-12-17 23:43
When I try to require 'win32/daemon" in irb, it says msvcrt-ruby18.dll not found

The gem was installed without problems using:
gem install win32-service --platform=mswin32

Working with ruby 1.9.1
---------------------------
C:\>ruby -v
ruby 1.9.1p243 (2009-07-16 revision 24175) [i386-mingw32]
C:\>gem list win32-service
*** LOCAL GEMS ***
win32-service (0.7.0)
C:\>
---------------------------

If i try to install gem directly, without platform specification, it starts to build gem with mingw, but returns with errors

---------------------------
C:\>gem install win32-service
Building native extensions. This could take a while...
ERROR: Error installing win32-service:
ERROR: Failed to build gem native extension.

C:/Ruby19/bin/ruby.exe extconf.rb
checking for RegisterServiceCtrlHandlerEx()... yes
creating Makefile

make
gcc -I. -IC:/Ruby19/include/ruby-1.9.1/i386-mingw32 -I/C/Ruby19/include/ruby-1.9.1/ruby/backward -I/C/Ruby19/include/rub
y-1.9.1 -Iwin32 -DHAVE_REGISTERSERVICECTRLHANDLEREX -O2 -g -Wall -Wno-parentheses -o daemon.o -c win32/daemon.c
win32/daemon.c: In function `Service_Event_Dispatch':
win32/daemon.c:113: error: structure has no member named `ptr'
win32/daemon.c:114: error: structure has no member named `ptr'
win32/daemon.c: In function `Ruby_Service_Ctrl':
win32/daemon.c:127: error: `__try' undeclared (first use in this function)
win32/daemon.c:127: error: (Each undeclared identifier is reported only once
win32/daemon.c:127: error: for each function it appears in.)
win32/daemon.c:127: error: syntax error before '{' token
win32/daemon.c:154: error: `__finally' undeclared (first use in this function)
win32/daemon.c:154: error: syntax error before '{' token
win32/daemon.c: At top level:
win32/daemon.c:159: warning: type defaults to `int' in declaration of `rb_thread_polling'
win32/daemon.c:159: error: conflicting types for 'rb_thread_polling'
c:/Ruby19/include/ruby-1.9.1/ruby/intern.h:319: error: previous declaration of 'rb_thread_polling' was here
win32/daemon.c:159: error: conflicting types for 'rb_thread_polling'
c:/Ruby19/include/ruby-1.9.1/ruby/intern.h:319: error: previous declaration of 'rb_thread_polling' was here
win32/daemon.c:159: warning: data definition has no type or storage class
win32/daemon.c:160: error: syntax error before '}' token
win32/daemon.c:164: warning: type defaults to `int' in declaration of `rb_intern_id_cache'
win32/daemon.c:164: warning: data definition has no type or storage class
win32/daemon.c:164: error: syntax error before '}' token
win32/daemon.c: In function `Service_Ctrl':
win32/daemon.c:185: error: `__try' undeclared (first use in this function)
win32/daemon.c:185: error: syntax error before '{' token
win32/daemon.c:180: warning: unused variable `dwState'
win32/daemon.c: At top level:
win32/daemon.c:190: error: syntax error before '{' token
win32/daemon.c:220: error: syntax error before numeric constant
win32/daemon.c:220: warning: type defaults to `int' in declaration of `SetTheServiceStatus'
win32/daemon.c:220: error: conflicting types for 'SetTheServiceStatus'
win32/daemon.c:35: error: previous declaration of 'SetTheServiceStatus' was here
win32/daemon.c:220: error: conflicting types for 'SetTheServiceStatus'
win32/daemon.c:35: error: previous declaration of 'SetTheServiceStatus' was here
win32/daemon.c:220: warning: data definition has no type or storage class
win32/daemon.c:234: error: conflicting types for 'SetTheServiceStatus'
win32/daemon.c:220: error: previous declaration of 'SetTheServiceStatus' was here
win32/daemon.c:234: error: conflicting types for 'SetTheServiceStatus'
win32/daemon.c:220: error: previous declaration of 'SetTheServiceStatus' was here
win32/daemon.c: In function `daemon_mainloop_ensure':
win32/daemon.c:304: error: structure has no member named `len'
win32/daemon.c: At top level:
win32/daemon.c:18: warning: 'error' defined but not used
win32/daemon.c:31: warning: 'service_close' declared `static' but never defined
make: *** [daemon.o] Error 1


Gem files will remain installed in C:/Ruby19/lib/ruby/gems/1.9.1/gems/win32-service-0.7.0 for inspection.
Results logged to C:/Ruby19/lib/ruby/gems/1.9.1/gems/win32-service-0.7.0/ext/gem_make.out

C:\>
---------------------------


Any workaround?