Gruff中的分段错误使我无法生成简单的图表

时间:2012-09-02 21:39:22

标签: ruby-on-rails rmagick gruff

我正在尝试简单的项目和RonR,特别是尝试使用带有rmagick和image magic的粗糙宝石生成一些图形。一切都安装成功,但当我运行一个简单的.rb与图表时,它给了我:

  
    

C:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/gems/gruff-0.3.4/lib/gruff/base.rb:467:[BUG]分段错误     ruby 1.8.7(2011-06-30 patchlevel 352)[i386-mingw32]

         

此应用程序已请求Runtime以不寻常的方式终止它。     请联系应用程序的支持团队以获取更多信息。

  

base.rb 文件中的行是指这段代码:

# Writes the graph to a file. Defaults to 'graph.png'
#
# Example:
#   write('graphs/my_pretty_graph.png')
def write(filename="graph.png")
   draw()
   @base_image.write(filename)
end

与此同时,我试图绘制的简单图表似乎很简单,它来自Gruff网站的一个例子:

#!/usr/bin/ruby

require 'rubygems'
require 'gruff'
g = Gruff::Bar.new('800x500') # Define a custom size
g.sort = false  # Do NOT sort data based on values
g.maximum_value = 50  # Declare a max value for the Y axis
g.minimum_value = 0   # Declare a min value for the Y axis
g.theme_37signals  # Declare a theme from the presets available

g.title = 'A more advanced bar chart'

g.data('Foo', [5, 10, 24])
g.data('Bar', [15, 3, 10])
g.data('Else', [38, 15, 32])

g.labels = {0 => 'Last year', 1 => 'This year', 2 => 'Next year'} # Define labels for each of the "columns" in data

g.write('a_more_advanced_graph.png')

我要么尝试在 irb 中加载上面的.rb脚本,要么直接将其加载到控制器中。两种方式都失败了

即使尝试在控制器中执行图形然后在视图中显示它,它也会再次失败。每次都出现相同的分割错误。

请注意,我已安装了Gems,并在Gemfile中添加了(如果尝试使用应用程序执行此操作)。我在Windows上运行Rails并且 gruff 是版本 0.3.4 ,虽然我也尝试使用最新版本 0.3.6 但是那里有同样的问题同样。

任何想法或建议都非常感谢!

1 个答案:

答案 0 :(得分:0)

它可能与您的代码无关,但我不能积极。

分析错误:

C:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/gems/gruff-0.3.4/lib/gruff/base.rb:467:
   [BUG] Segmentation fault ruby 1.8.7 (2011-06-30 patchlevel 352) [i386-mingw32]

这就是说,当粗暴宝石正在执行时,当它击中base.rb文件中的第467行时,ruby抛出了一个分段错误(一个非常低级别的错误,通常是尝试访问一个没有'存在)

所以不要专注于你的代码,专注于版本(即所需的ruby版本,或者粗暴所依赖的宝石版本等)