1
votes

Here's my problem. I've tried video example from greenshoes samples. But I can't run it because of this:

require': cannot load such file -- win32api (LoadError)

So this gives me a message that I have to install win32api gem. I've tried to install win32api with this:

gem install win32-api

But it gives me this message:

Building native extensions.  This could take a while...

ERROR: Error installing win32-api: ERROR: Failed to build gem native extension.

/home/msdc/.rvm/rubies/ruby-2.1.2/bin/ruby extconf.rb

checking for strncpy_s()... no creating Makefile

make "DESTDIR=" clean

make "DESTDIR="
compiling win32/api.c
win32/api.c:2:21: fatal error: windows.h: No such file or directory
compilation terminated.
make: *** [api.o] Error 1

make failed, exit code 2

Gem files will remain installed in /home/msdc/.rvm/gems/ruby-2.1.2/gems/win32-api-1.4.8 for inspection.

Results logged to /home/msdc/.rvm/gems/ruby-2.1.2/extensions/x86-linux/2.1.0/win32-api-1.4.8/gem_make.out

Here's my ruby version

ruby 2.1.2.p95

Here's the part of backtrace:

Exception `Errno::ENOENT' at /home/msdc/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:1454 - No such file or directory @ unlink_internal - /home/msdc/.rvm/gems/ruby-2.1.2/gems/win32-api-1.4.8/README

Exception Errno::EEXIST' at /home/msdc/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:250 - File exists @ dir_s_mkdir - /home/msdc/.rvm/gems/ruby-2.1.2/gems/win32-api-1.4.8 ExceptionNoMethodError' at /home/msdc/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/package/tar_reader.rb:71 - undefined method `seek' for #

Exception `Errno::ENOENT' at /home/msdc/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:1334 - No such file or directory @ rb_file_s_lstat - /home/msdc/.rvm/gems/ruby-2.1.2/gems/win32-api-1.4.8/test/test_win32_api.rb

Exception `Errno::ENOENT' at /home/msdc/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:1334 - No such file or directory @ rb_file_s_lstat - /home/msdc/.rvm/gems/ruby-2.1.2/gems/win32-api-1.4.8/test/test_win32_api.rb

Exception `Errno::ENOENT' at /home/msdc/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:1454 - No such file or directory @ unlink_internal - /home/msdc/.rvm/gems/ruby-2.1.2/gems/win32-api-1.4.8/test/test_win32_api.rb

Exception NoMethodError' at /home/msdc/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/package/tar_reader/entry.rb:126 - undefined methodreadpartial' for #

Exception NoMethodError' at /home/msdc/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/package/tar_reader.rb:71 - undefined methodseek' for #

Exception `Errno::ENOENT' at /home/msdc/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:1334 - No such file or directory @ rb_file_s_lstat - /home/msdc/.rvm/gems/ruby-2.1.2/gems/win32-api-1.4.8/test/test_win32_api_callback.rb

vm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:1334 - No such file or directory @ rb_file_s_lstat - /home/msdc/.rvm/gems/ruby-2.1.2/gems/win32-api-1.4.8/test/test_win32_api_callback.rb

Exception `Errno::ENOENT' at /home/msdc/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:1454 - No such file or directory @ unlink_internal - /home/msdc/.rvm/gems/ruby-2.1.2/gems/win32-api-1.4.8/test/test_win32_api_callback.rb

Exception Errno::EEXIST' at /home/msdc/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:250 - File exists @ dir_s_mkdir - /home/msdc/.rvm/gems/ruby-2.1.2/gems/win32-api-1.4.8/test ExceptionNoMethodError' at /home/msdc/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/package/tar_reader.rb:71 - undefined method `seek' for #

Exception `Errno::ENOENT' at /home/msdc/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:1334 - No such file or directory @ rb_file_s_lstat - /home/msdc/.rvm/gems/ruby-2.1.2/gems/win32-api-1.4.8/test/test_win32_api_function.rb

Exception `Errno::ENOENT' at /home/msdc/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:1334 - No such file or directory @ rb_file_s_lstat - /home/msdc/.rvm/gems/ruby-2.1.2/gems/win32-api-1.4.8/test/test_win32_api_function.rb

Exception `Errno::ENOENT' at /home/msdc/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:1454 - No such file or directory @ unlink_internal - /home/msdc/.rvm/gems/ruby-2.1.2/gems/win32-api-1.4.8/test/test_win32_api_function.rb

Exception Errno::EEXIST' at /home/msdc/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:250 - File exists @ dir_s_mkdir - /home/msdc/.rvm/gems/ruby-2.1.2/gems/win32-api-1.4.8/test ExceptionNoMethodError' at /home/msdc/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/package/tar_reader.rb:71 - undefined method `seek' for #

Exception `Errno::ENOENT' at /home/msdc/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:1334 - No such file or directory @ rb_file_s_lstat - /home/msdc/.rvm/gems/ruby-2.1.2/gems/win32-api-1.4.8/win32-api.gemspec

Exception `Errno::ENOENT' at /home/msdc/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:1334 - No such file or directory @ rb_file_s_lstat - /home/msdc/.rvm/gems/ruby-2.1.2/gems/win32-api-1.4.8/win32-api.gemspec

Exception `Errno::ENOENT' at /home/msdc/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:1454 - No such file or directory @ unlink_internal - /home/msdc/.rvm/gems/ruby-2.1.2/gems/win32-api-1.4.8/win32-api.gemspec

Exception Errno::EEXIST' at /home/msdc/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:250 - File exists @ dir_s_mkdir - /home/msdc/.rvm/gems/ruby-2.1.2/gems/win32-api-1.4.8 ExceptionNoMethodError' at /home/msdc/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/package/tar_reader.rb:71 - undefined method `seek' for #

Building native extensions. This could take a while... Exception `Errno::ENOENT' at /home/msdc/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:1454 - No such file or directory @ unlink_internal - /home/msdc/.rvm/gems/ruby-2.1.2/extensions/x86-linux/2.1.0/win32-api-1.4.8/gem.build_complete

Exception `Errno::EEXIST' at /home/msdc/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:250 - File exists @ dir_s_mkdir - /home/msdc/.rvm/gems/ruby-2.1.2/extensions/x86-linux/2.1.0/win32-api-1.4.8

Exception Gem::InstallError' at /home/msdc/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/ext/builder.rb:89 - make failed, exit code 2 ExceptionGem::InstallError' at /home/msdc/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/ext/builder.rb:53 - make failed, exit code 2 Exception `Errno::EEXIST' at /home/msdc/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:250 - File exists @ dir_s_mkdir - /home/msdc/.rvm/gems/ruby-2.1.2/extensions/x86-linux/2.1.0/win32-api-1.4.8

Exception `Gem::Ext::BuildError' at /home/msdc/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/ext/builder.rb:143 - ERROR: Failed to build gem native extension.

1
Did you succeed in installing gstreamer stackoverflow.com/questions/25158867/… ? If so, what did you do? This error seems to be closely related to gstreamer. I can't get this running either (in Fedora Linux, but my error is LoadError: cannot load such file -- gst) so I don't think I will be able to help you any further.dcorking
It is not an answer, but you could experiment with why's Shoes: shoesrb.com In contrast with green_shoes, Shoes::Video relies on different video libraries: videolan and ffmpeg , which tend to be well supported in Linux and might bring you more luck. shoesrb.com/manual/Video.htmldcorking
Please post the stack trace that was printed with the LoadError. This may help someone to track down which ruby file is trying to use win32_api and why.dcorking
I've already fixed my gstreamer problem. stackoverflow.com/questions/25158867/…Milos Dolobac
(I guess ordinary green_shoes programs work for you, but I'll ask just in case.)dcorking

1 Answers

0
votes

The message fatal error: windows.h: No such file or directory means that your C compiler cannot find your Windows SDK, and in particular the windows.h header file.

If you have that header file, you need to fix your C compiler's configuration.

If not, you need to obtain the Windows SDK.

This might help:

http://www.microsoft.com/en-us/download/details.aspx?id=8279

See also http://msdn.microsoft.com/en-us/library/windows/desktop/aa383745(v=vs.85).aspx

windows.h is in several places in Debian-derived GNU/Linux distributions. One such place is the mingw-w64-i686-dev package, but I don't know which package, if any, you need to run green_shoes video.