[DRE-maint] Bug#888193: ruby-rmagick: FTBFS on ruby2.5: <FrozenError(<can't modify frozen Magick::Image>)>

Chris West (Faux) debian at fau.xxx
Tue Jan 23 20:38:43 UTC 2018


Source: ruby-rmagick
Version: 2.16.0-2
Severity: important
User: debian-ruby at lists.debian.org
Usertags: ruby2.5

Dear Maintainer,

This package fails to build against ruby2.5. Soon, there will
be a transition to ruby2.5, and this package will FTBFS in sid.

There may be some details on the wiki about common problems:
https://wiki.debian.org/Teams/Ruby/Ruby25Transition

Super confusing build log excerpt:


Pending: (Failures listed here are expected and do not affect your suite's status)

  1) Magick::Draw#marshal_dump #marshal_load marshals without an error
     # this spec fails on some versions of ImageMagick
     # ./spec/rmagick/draw_spec.rb:82

Finished in 0.27725 seconds (files took 0.12424 seconds to load)
36 examples, 0 failures, 1 pending

/usr/bin/ruby2.5 -w  "/usr/lib/ruby/vendor_ruby/rake/rake_test_loader.rb" "test/test_all_basic.rb" -v
/build/ruby-rmagick-2.16.0/test/Image2.rb:80: warning: assigned but unused variable - img
/build/ruby-rmagick-2.16.0/test/Image2.rb:305: warning: assigned but unused variable - format
/build/ruby-rmagick-2.16.0/test/Image2.rb:306: warning: assigned but unused variable - size
/build/ruby-rmagick-2.16.0/test/Image2.rb:307: warning: assigned but unused variable - geometry
/build/ruby-rmagick-2.16.0/test/Image2.rb:308: warning: assigned but unused variable - image_class
/build/ruby-rmagick-2.16.0/test/Image2.rb:401: warning: `-' after local variable or literal is interpreted as binary operator
/build/ruby-rmagick-2.16.0/test/Image2.rb:401: warning: even though it seems like unary operator
/build/ruby-rmagick-2.16.0/test/Image2.rb:536: warning: assigned but unused variable - res
/build/ruby-rmagick-2.16.0/test/Image2.rb:537: warning: assigned but unused variable - res
/build/ruby-rmagick-2.16.0/test/Image2.rb:538: warning: assigned but unused variable - res
/build/ruby-rmagick-2.16.0/test/Image2.rb:539: warning: assigned but unused variable - res
/build/ruby-rmagick-2.16.0/test/Image3.rb:683: warning: assigned but unused variable - img
/build/ruby-rmagick-2.16.0/test/ImageList1.rb:295: warning: assigned but unused variable - cur
/build/ruby-rmagick-2.16.0/test/ImageList1.rb:332: warning: assigned but unused variable - res
/build/ruby-rmagick-2.16.0/test/ImageList1.rb:333: warning: assigned but unused variable - res
/build/ruby-rmagick-2.16.0/test/Import_Export.rb:12: warning: assigned but unused variable - res
/build/ruby-rmagick-2.16.0/test/Magick.rb:312: warning: assigned but unused variable - img
2.5.0
String
Loaded suite /usr/lib/ruby/vendor_ruby/rake/rake_test_loader
Started
Image1_UT: 
  test_adaptive_blur:					.: (0.002072)
  test_adaptive_blur_channel:				.: (0.002713)
  test_adaptive_resize:					.: (0.000529)
  test_adaptive_sharpen:				.: (0.000895)
  test_adaptive_sharpen_channel:			.: (0.001748)
  test_adaptive_threshold:				.: (0.000333)
  test_add_compose_mask:				.: (0.000255)
  test_add_noise:					.: (0.008137)
  test_add_noise_channel:				.: (0.007935)
  test_affine_matrix:					.: (0.001704)
  test_alpha:						F
===============================================================================
Failure: test_alpha(Image1_UT)
/build/ruby-rmagick-2.16.0/test/Image1.rb:172:in `test_alpha'
     169:     assert_nothing_raised { @img.alpha Magick::ResetAlphaChannel }
     170:     assert_nothing_raised { @img.alpha Magick::SetAlphaChannel }
     171:     @img.freeze
  => 172:     assert_raise(FreezeError) { @img.alpha Magick::SetAlphaChannel }
     173:   end
     174: 
     175:   def test_auto_gamma

<RuntimeError> expected but was
<FrozenError(<can't modify frozen Magick::Image>)>

diff:
? Ru   ntimeError                                     
? Froze          (<can't modify frozen Magick::Image>)
===============================================================================
: (0.052752)
  test_alpha_compat:					.: (0.000186)
  test_auto_gamma:					.: (0.012168)
  test_auto_level:					.: (0.000255)
  test_auto_orient:					.: (0.000143)
  test_bilevel_channel:					.: (0.000527)
  test_black_threshold:					.: (0.000445)



...



Finished in 42.696937665 seconds.
------
385 tests, 232948 assertions, 15 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
96.1039% passed
------
9.02 tests/s, 5455.85 assertions/s
rake aborted!
Command failed with status (1): [ruby -w  "/usr/lib/ruby/vendor_ruby/rake/rake_test_loader.rb" "test/test_all_basic.rb" -v]

Tasks: TOP => default
(See full trace by running task with --trace)
ERROR: Test "ruby2.5" failed. Exiting.
dh_auto_install: dh_ruby --install /build/ruby-rmagick-2.16.0/debian/tmp returned exit code 1
debian/rules:6: recipe for target 'binary' failed
make: *** [binary] Error 1
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2

Full build log:
https://rbuild.fau.xxx/2018-01-23/ruby-rmagick.log

Please fix it!

Cheers,
Chris.



More information about the Pkg-ruby-extras-maintainers mailing list