在green_shoes gem中播放视频时出现问题

时间:2014-08-07 08:36:15

标签: ruby gem gstreamer shoes linuxmint

这是我的问题。我从greenshoes样本中尝试了video example。但由于这个原因,我无法运行它:

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

所以这给了我一条消息,我必须安装win32api gem。我已尝试使用以下方法安装 win32api

gem install win32-api

但它给了我这样的信息:

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

错误:安装win32-api时出错:      错误:无法构建gem原生扩展。

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

检查strncpy_s()...否 创建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.

结果记录到/home/msdc/.rvm/gems/ruby-2.1.2/extensions/x86-linux/2.1.0/win32-api-1.4.8/gem_make.out

这是我的红宝石版本

ruby 2.1.2.p95

这是回溯的一部分:

例外`Errno :: ENOENT' at /home/msdc/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:1454 - 没有这样的文件或目录@ unlink_internal - /home/msdc/.rvm/gems/ruby -2.1.2 /宝石/ Win32的API-1.4.8 / README

异常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 Exception NoMethodError'在/home/msdc/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/package/tar_reader.rb:71 - 未定义的方法`seek'对于#

例外`Errno :: ENOENT' at /home/msdc/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:1334 - 没有这样的文件或目录@ rb_file_s_lstat - /home/msdc/.rvm/gems/ruby -2.1.2 /宝石/ Win32的API-1.4.8 /测试/ test_win32_api.rb

例外`Errno :: ENOENT' at /home/msdc/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:1334 - 没有这样的文件或目录@ rb_file_s_lstat - /home/msdc/.rvm/gems/ruby -2.1.2 /宝石/ Win32的API-1.4.8 /测试/ test_win32_api.rb

例外`Errno :: ENOENT' at /home/msdc/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:1454 - 没有这样的文件或目录@ unlink_internal - /home/msdc/.rvm/gems/ruby -2.1.2 /宝石/ Win32的API-1.4.8 /测试/ test_win32_api.rb

例外NoMethodError' at /home/msdc/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/package/tar_reader/entry.rb:126 - undefined method readpartial'对于#

例外NoMethodError' at /home/msdc/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/package/tar_reader.rb:71 - undefined method寻求'对于#

例外`Errno :: ENOENT' at /home/msdc/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:1334 - 没有这样的文件或目录@ rb_file_s_lstat - /home/msdc/.rvm/gems/ruby -2.1.2 /宝石/ Win32的API-1.4.8 /测试/ test_win32_api_callback.rb

vm / rubies / ruby​​-2.1.2 / lib / ruby​​ / 2.1.0 / fileutils.rb:1334 - 没有这样的文件或目录@ rb_file_s_lstat - /home/msdc/.rvm/gems/ruby-2.1.2 /gems/win32-api-1.4.8/test/test_win32_api_callback.rb

例外`Errno :: ENOENT' at /home/msdc/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:1454 - 没有这样的文件或目录@ unlink_internal - /home/msdc/.rvm/gems/ruby -2.1.2 /宝石/ Win32的API-1.4.8 /测试/ test_win32_api_callback.rb

异常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 Exception NoMethodError'在/home/msdc/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/package/tar_reader.rb:71 - 未定义的方法`seek'对于#

例外`Errno :: ENOENT' at /home/msdc/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:1334 - 没有这样的文件或目录@ rb_file_s_lstat - /home/msdc/.rvm/gems/ruby -2.1.2 /宝石/ Win32的API-1.4.8 /测试/ test_win32_api_function.rb

例外`Errno :: ENOENT' at /home/msdc/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:1334 - 没有这样的文件或目录@ rb_file_s_lstat - /home/msdc/.rvm/gems/ruby -2.1.2 /宝石/ Win32的API-1.4.8 /测试/ test_win32_api_function.rb

例外`Errno :: ENOENT' at /home/msdc/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:1454 - 没有这样的文件或目录@ unlink_internal - /home/msdc/.rvm/gems/ruby -2.1.2 /宝石/ Win32的API-1.4.8 /测试/ test_win32_api_function.rb

异常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 Exception NoMethodError'在/home/msdc/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/package/tar_reader.rb:71 - 未定义的方法`seek'对于#

例外`Errno :: ENOENT' at /home/msdc/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:1334 - 没有这样的文件或目录@ rb_file_s_lstat - /home/msdc/.rvm/gems/ruby -2.1.2 /宝石/ Win32的API-1.4.8 / Win32的api.gemspec

例外`Errno :: ENOENT' at /home/msdc/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:1334 - 没有这样的文件或目录@ rb_file_s_lstat - /home/msdc/.rvm/gems/ruby -2.1.2 /宝石/ Win32的API-1.4.8 / Win32的api.gemspec

例外`Errno :: ENOENT' at /home/msdc/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:1454 - 没有这样的文件或目录@ unlink_internal - /home/msdc/.rvm/gems/ruby -2.1.2 /宝石/ Win32的API-1.4.8 / Win32的api.gemspec

异常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 Exception NoMethodError'在/home/msdc/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/package/tar_reader.rb:71 - 未定义的方法`seek'对于#

构建原生扩展。这可能需要一段时间...... 例外`Errno :: ENOENT' at /home/msdc/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:1454 - 没有这样的文件或目录@ unlink_internal - /home/msdc/.rvm/gems/ruby -2.1.2 /扩展/ x86的LINUX / 2.1.0 / Win32的API-1.4.8 / gem.build_complete

例外`Errno :: EEXIST' at /home/msdc/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:250 - 文件存在@dir_s_mkdir - /home/msdc/.rvm/gems/ruby-2.1。 2 /扩展/ x86的LINUX / 2.1.0 / Win32的API-1.4.8

异常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 Exception Gem :: InstallError' at /home/msdc/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/ext/builder.rb:53 - make failed,退出代码2 例外`Errno :: EEXIST' at /home/msdc/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:250 - 文件存在@dir_s_mkdir - /home/msdc/.rvm/gems/ruby-2.1。 2 /扩展/ x86的LINUX / 2.1.0 / Win32的API-1.4.8

异常`Gem :: Ext :: BuildError' at /home/msdc/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/ext/builder.rb:143 - 错误:无法构建gem原生扩展。

1 个答案:

答案 0 :(得分:0)

消息fatal error: windows.h: No such file or directory表示您的C编译器找不到您的Windows SDK,特别是windows.h头文件。

如果您有该头文件,则需要修复C编译器的配置。

如果没有,则需要获取Windows SDK。

这可能会有所帮助:

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

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

windows.h在Debian派生的GNU / Linux发行版中有几个地方。一个这样的地方是mingw-w64-i686-dev包,但我不知道你需要运行green_shoes视频的哪个包。