[DRE-maint] Bug#1151418: ruby-image-science: FTBFS with freeimage 4.2.1
Anton Gladky
gladk at debian.org
Tue Oct 20 15:54:28 BST 2026
Package: src:ruby-image-science
Version: 1.3.1-1
Severity: important
Tags: sid forky ftbfs
User: debian-devel at lists.debian.org
Usertags: freeimage-4.2
Dear Maintainer,
your package build-depends on libfreeimage-dev. A new upstream version
of freeimage, 4.2.1, has been packaged for Debian. This is a major version
change (from 3.18), which may require code changes in packages depending
on freeimage.
ruby-image-science FTBFS with freeimage 4.2.1. Note that the FTBFS may not necessarily
be connected to freeimage - please check the build log for the actual cause.
freeimage 4.2.1 is available in experimental, so you can rebuild your
package against it to reproduce the failure and test the fix.
Note: This ticket severity will be increased to RC bug when
freeimage 4.2.1 is uploaded to unstable.
Here is the most probably relevant part of the failing build log:
==================== build log ====================
RUBYLIB=. GEM_PATH=/build/reproducible-path/ruby-image-science-1.3.1/debian/ruby-image-science/usr/share/rubygems-integration/all:/var/lib/gems/3.3.0:/usr/local/lib/ruby/gems/3.3.0:/usr/lib/ruby/gems/3.3.0:/usr/lib/x86_64-linux-gnu/ruby/gems/3.3.0:/usr/share/rubygems-integration/3.3.0:/usr/share/rubygems-integration/all:/usr/lib/x86_64-linux-gnu/rubygems-integration/3.3.0 ruby3.3 -S rake --rakelibdir /gem2deb-nonexistent -f debian/ruby-tests.rake
/usr/bin/ruby3.3 -w -I"test" /usr/share/rubygems-integration/all/gems/rake-13.4.2/lib/rake/rake_test_loader.rb "test/test_image_science.rb" -v
/build/reproducible-path/ruby-image-science-1.3.1/debian/ruby-image-science/usr/share/rubygems-integration/all/gems/image_science-1.3.1/lib/image_science.rb: In function âwith_image_from_memoryâ:
/build/reproducible-path/ruby-image-science-1.3.1/debian/ruby-image-science/usr/share/rubygems-integration/all/gems/image_science-1.3.1/lib/image_science.rb:243:9: error: unknown type name âBYTEâ
243 | FIMEMORY *stream;
| ^~~~
/build/reproducible-path/ruby-image-science-1.3.1/debian/ruby-image-science/usr/share/rubygems-integration/all/gems/image_science-1.3.1/lib/image_science.rb:244:9: error: unknown type name âDWORDâ
244 | FIBITMAP *bitmap = NULL;
| ^~~~~
/build/reproducible-path/ruby-image-science-1.3.1/debian/ruby-image-science/usr/share/rubygems-integration/all/gems/image_science-1.3.1/lib/image_science.rb:251:30: error: âBYTEâ undeclared (first use in this function)
251 | stream = FreeImage_OpenMemory(image_data_ptr, image_data_length);
| ^~~~
/build/reproducible-path/ruby-image-science-1.3.1/debian/ruby-image-science/usr/share/rubygems-integration/all/gems/image_science-1.3.1/lib/image_science.rb:251:30: note: each undeclared identifier is reported only once for each function it appears in
/build/reproducible-path/ruby-image-science-1.3.1/debian/ruby-image-science/usr/share/rubygems-integration/all/gems/image_science-1.3.1/lib/image_science.rb:251:35: error: expected expression before â)â token
251 | stream = FreeImage_OpenMemory(image_data_ptr, image_data_length);
| ^
/build/reproducible-path/ruby-image-science-1.3.1/debian/ruby-image-science/usr/share/rubygems-integration/all/gems/image_science-1.3.1/lib/image_science.rb:252:30: error: âDWORDâ undeclared (first use in this function)
252 |
| ^
/build/reproducible-path/ruby-image-science-1.3.1/debian/ruby-image-science/usr/share/rubygems-integration/all/gems/image_science-1.3.1/lib/image_science.rb:252:36: error: expected â;â before âRSTRING_LENâ
252 |
| ^
| ;
/build/reproducible-path/ruby-image-science-1.3.1/debian/ruby-image-science/usr/share/rubygems-integration/all/gems/image_science-1.3.1/lib/image_science.rb:253:39: warning: passing argument 1 of âFreeImage_OpenMemoryâ from incompatible pointer type [-Wincompatible-pointer-types]
253 | if (NULL == stream) {
| ^
| |
| int *
In file included from /tmp/image_science.20261019-79-cbk76w/.ruby_inline/ruby-3.3.8/Inline_ImageScience_a18c47f3dc3bcc0dfd8d81db06c4488c.c:2:
/usr/include/FreeImage.h:990:62: note: expected âuint8_t *â {aka âunsigned char *â} but argument is of type âint *â
990 | DLL_API FIMEMORY *DLL_CALLCONV FreeImage_OpenMemory(uint8_t *data FI_DEFAULT(0), uint32_t size_in_bytes FI_DEFAULT(0));
| ~~~~~~~~~^~~~
/build/reproducible-path/ruby-image-science-1.3.1/debian/ruby-image-science/usr/share/rubygems-integration/all/gems/image_science-1.3.1/lib/image_science.rb: In function âsaveâ:
/build/reproducible-path/ruby-image-science-1.3.1/debian/ruby-image-science/usr/share/rubygems-integration/all/gems/image_science-1.3.1/lib/image_science.rb:343:11: error: unknown type name âBOOLâ; did you mean âFIBOOLâ?
343 | flags = fif == FIF_JPEG ? JPEG_QUALITYSUPERB : 0;
| ^~~~
| FIBOOL
In file included from /usr/include/ruby-3.3.0/ruby/ruby.h:27,
from /usr/include/ruby-3.3.0/ruby.h:38,
from /tmp/image_science.20261019-79-cbk76w/.ruby_inline/ruby-3.3.8/Inline_ImageScience_a18c47f3dc3bcc0dfd8d81db06c4488c.c:1:
/build/reproducible-path/ruby-image-science-1.3.1/debian/ruby-image-science/usr/share/rubygems-integration/all/gems/image_science-1.3.1/lib/image_science.rb: In function âInit_Inline_ImageScience_a18c47f3dc3bcc0dfd8d81db06c4488câ:
/build/reproducible-path/ruby-image-science-1.3.1/debian/ruby-image-science/usr/share/rubygems-integration/all/gems/image_science-1.3.1/lib/image_science.rb:372:35: warning: passing argument 3 of ârb_define_method_00â from incompatible pointer type [-Wincompatible-pointer-types]
/usr/include/ruby-3.3.0/ruby/internal/anyargs.h:288:136: note: in definition of macro ârb_define_methodâ
288 | #define rb_define_method(klass, mid, func, arity) RBIMPL_ANYARGS_DISPATCH_rb_define_method((arity), (func))((klass), (mid), (func), (arity))
| ^~~~
/usr/include/ruby-3.3.0/ruby/internal/anyargs.h:277:21: note: expected âVALUE (*)(VALUE)â {aka âlong unsigned int (*)(long unsigned int)â} but argument is of type âVALUE (*)(void)â {aka âlong unsigned int (*)(void)â}
277 | RBIMPL_ANYARGS_DECL(rb_define_method, VALUE, const char *)
| ^~~~~~~~~~~~~~~~
/usr/include/ruby-3.3.0/ruby/internal/anyargs.h:255:41: note: in definition of macro âRBIMPL_ANYARGS_DECLâ
255 | RBIMPL_ANYARGS_ATTRSET(sym) static void sym ## _00(__VA_ARGS__, VALUE(*)(VALUE), int); \
| ^~~
/build/reproducible-path/ruby-image-science-1.3.1/debian/ruby-image-science/usr/share/rubygems-integration/all/gems/image_science-1.3.1/lib/image_science.rb:373:35: warning: passing argument 3 of ârb_define_method_02â from incompatible pointer type [-Wincompatible-pointer-types]
/usr/include/ruby-3.3.0/ruby/internal/anyargs.h:288:136: note: in definition of macro ârb_define_methodâ
288 | #define rb_define_method(klass, mid, func, arity) RBIMPL_ANYARGS_DISPATCH_rb_define_method((arity), (func))((klass), (mid), (func), (arity))
| ^~~~
/usr/include/ruby-3.3.0/ruby/internal/anyargs.h:277:21: note: expected âVALUE (*)(VALUE, VALUE, VALUE)â {aka âlong unsigned int (*)(long unsigned int, long unsigned int, long unsigned int)â} but argument is of type âVALUE (*)(void)â {aka âlong unsigned int (*)(void)â}
277 | RBIMPL_ANYARGS_DECL(rb_define_method, VALUE, const char *)
| ^~~~~~~~~~~~~~~~
/usr/include/ruby-3.3.0/ruby/internal/anyargs.h:257:41: note: in definition of macro âRBIMPL_ANYARGS_DECLâ
257 | RBIMPL_ANYARGS_ATTRSET(sym) static void sym ## _02(__VA_ARGS__, VALUE(*)(VALUE, VALUE, VALUE), int); \
| ^~~
/build/reproducible-path/ruby-image-science-1.3.1/debian/ruby-image-science/usr/share/rubygems-integration/all/gems/image_science-1.3.1/lib/image_science.rb:374:35: warning: passing argument 3 of ârb_define_method_01â from incompatible pointer type [-Wincompatible-pointer-types]
/usr/include/ruby-3.3.0/ruby/internal/anyargs.h:288:136: note: in definition of macro ârb_define_methodâ
288 | #define rb_define_method(klass, mid, func, arity) RBIMPL_ANYARGS_DISPATCH_rb_define_method((arity), (func))((klass), (mid), (func), (arity))
| ^~~~
/usr/include/ruby-3.3.0/ruby/internal/anyargs.h:277:21: note: expected âVALUE (*)(VALUE, VALUE)â {aka âlong unsigned int (*)(long unsigned int, long unsigned int)â} but argument is of type âVALUE (*)(void)â {aka âlong unsigned int (*)(void)â}
277 | RBIMPL_ANYARGS_DECL(rb_define_method, VALUE, const char *)
| ^~~~~~~~~~~~~~~~
/usr/include/ruby-3.3.0/ruby/internal/anyargs.h:256:41: note: in definition of macro âRBIMPL_ANYARGS_DECLâ
256 | RBIMPL_ANYARGS_ATTRSET(sym) static void sym ## _01(__VA_ARGS__, VALUE(*)(VALUE, VALUE), int); \
| ^~~
/build/reproducible-path/ruby-image-science-1.3.1/debian/ruby-image-science/usr/share/rubygems-integration/all/gems/image_science-1.3.1/lib/image_science.rb:375:33: warning: passing argument 3 of ârb_define_method_01â from incompatible pointer type [-Wincompatible-pointer-types]
/usr/include/ruby-3.3.0/ruby/internal/anyargs.h:288:136: note: in definition of macro ârb_define_methodâ
288 | #define rb_define_method(klass, mid, func, arity) RBIMPL_ANYARGS_DISPATCH_rb_define_method((arity), (func))((klass), (mid), (func), (arity))
| ^~~~
/usr/include/ruby-3.3.0/ruby/internal/anyargs.h:277:21: note: expected âVALUE (*)(VALUE, VALUE)â {aka âlong unsigned int (*)(long unsigned int, long unsigned int)â} but argument is of type âVALUE (*)(void)â {aka âlong unsigned int (*)(void)â}
277 | RBIMPL_ANYARGS_DECL(rb_define_method, VALUE, const char *)
| ^~~~~~~~~~~~~~~~
/usr/include/ruby-3.3.0/ruby/internal/anyargs.h:256:41: note: in definition of macro âRBIMPL_ANYARGS_DECLâ
256 | RBIMPL_ANYARGS_ATTRSET(sym) static void sym ## _01(__VA_ARGS__, VALUE(*)(VALUE, VALUE), int); \
| ^~~
/build/reproducible-path/ruby-image-science-1.3.1/debian/ruby-image-science/usr/share/rubygems-integration/all/gems/image_science-1.3.1/lib/image_science.rb:376:34: warning: passing argument 3 of ârb_define_method_00â from incompatible pointer type [-Wincompatible-pointer-types]
/usr/include/ruby-3.3.0/ruby/internal/anyargs.h:288:136: note: in definition of macro ârb_define_methodâ
288 | #define rb_define_method(klass, mid, func, arity) RBIMPL_ANYARGS_DISPATCH_rb_define_method((arity), (func))((klass), (mid), (func), (arity))
| ^~~~
/usr/include/ruby-3.3.0/ruby/internal/anyargs.h:277:21: note: expected âVALUE (*)(VALUE)â {aka âlong unsigned int (*)(long unsigned int)â} but argument is of type âVALUE (*)(void)â {aka âlong unsigned int (*)(void)â}
277 | RBIMPL_ANYARGS_DECL(rb_define_method, VALUE, const char *)
| ^~~~~~~~~~~~~~~~
/usr/include/ruby-3.3.0/ruby/internal/anyargs.h:255:41: note: in definition of macro âRBIMPL_ANYARGS_DECLâ
255 | RBIMPL_ANYARGS_ATTRSET(sym) static void sym ## _00(__VA_ARGS__, VALUE(*)(VALUE), int); \
| ^~~
/build/reproducible-path/ruby-image-science-1.3.1/debian/ruby-image-science/usr/share/rubygems-integration/all/gems/image_science-1.3.1/lib/image_science.rb:377:38: warning: passing argument 3 of ârb_define_method_04â from incompatible pointer type [-Wincompatible-pointer-types]
/usr/include/ruby-3.3.0/ruby/internal/anyargs.h:288:136: note: in definition of macro ârb_define_methodâ
288 | #define rb_define_method(klass, mid, func, arity) RBIMPL_ANYARGS_DISPATCH_rb_define_method((arity), (func))((klass), (mid), (func), (arity))
| ^~~~
/usr/include/ruby-3.3.0/ruby/internal/anyargs.h:277:21: note: expected âVALUE (*)(VALUE, VALUE, VALUE, VALUE, VALUE)â {aka âlong unsigned int (*)(long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int)â} but argument is of type âVALUE (*)(void)â {aka âlong unsigned int (*)(void)â}
277 | RBIMPL_ANYARGS_DECL(rb_define_method, VALUE, const char *)
| ^~~~~~~~~~~~~~~~
/usr/include/ruby-3.3.0/ruby/internal/anyargs.h:259:41: note: in definition of macro âRBIMPL_ANYARGS_DECLâ
259 | RBIMPL_ANYARGS_ATTRSET(sym) static void sym ## _04(__VA_ARGS__, VALUE(*)(VALUE, VALUE, VALUE, VALUE, VALUE), int); \
| ^~~
/build/reproducible-path/ruby-image-science-1.3.1/debian/ruby-image-science/usr/share/rubygems-integration/all/gems/image_science-1.3.1/lib/image_science.rb:378:49: warning: passing argument 3 of ârb_define_singleton_method_01â from incompatible pointer type [-Wincompatible-pointer-types]
/usr/include/ruby-3.3.0/ruby/internal/anyargs.h:308:144: note: in definition of macro ârb_define_singleton_methodâ
308 | #define rb_define_singleton_method(obj, mid, func, arity) RBIMPL_ANYARGS_DISPATCH_rb_define_singleton_method((arity), (func))((obj), (mid), (func), (arity))
| ^~~~
/usr/include/ruby-3.3.0/ruby/internal/anyargs.h:271:21: note: expected âVALUE (*)(VALUE, VALUE)â {aka âlong unsigned int (*)(long unsigned int, long unsigned int)â} but argument is of type âVALUE (*)(void)â {aka âlong unsigned int (*)(void)â}
271 | RBIMPL_ANYARGS_DECL(rb_define_singleton_method, VALUE, const char *)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/ruby-3.3.0/ruby/internal/anyargs.h:256:41: note: in definition of macro âRBIMPL_ANYARGS_DECLâ
256 | RBIMPL_ANYARGS_ATTRSET(sym) static void sym ## _01(__VA_ARGS__, VALUE(*)(VALUE, VALUE), int); \
| ^~~
/build/reproducible-path/ruby-image-science-1.3.1/debian/ruby-image-science/usr/share/rubygems-integration/all/gems/image_science-1.3.1/lib/image_science.rb:379:61: warning: passing argument 3 of ârb_define_singleton_method_01â from incompatible pointer type [-Wincompatible-pointer-types]
/usr/include/ruby-3.3.0/ruby/internal/anyargs.h:308:144: note: in definition of macro ârb_define_singleton_methodâ
308 | #define rb_define_singleton_method(obj, mid, func, arity) RBIMPL_ANYARGS_DISPATCH_rb_define_singleton_method((arity), (func))((obj), (mid), (func), (arity))
| ^~~~
/usr/include/ruby-3.3.0/ruby/internal/anyargs.h:271:21: note: expected âVALUE (*)(VALUE, VALUE)â {aka âlong unsigned int (*)(long unsigned int, long unsigned int)â} but argument is of type âVALUE (*)(void)â {aka âlong unsigned int (*)(void)â}
271 | RBIMPL_ANYARGS_DECL(rb_define_singleton_method, VALUE, const char *)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/ruby-3.3.0/ruby/internal/anyargs.h:256:41: note: in definition of macro âRBIMPL_ANYARGS_DECLâ
256 | RBIMPL_ANYARGS_ATTRSET(sym) static void sym ## _01(__VA_ARGS__, VALUE(*)(VALUE, VALUE), int); \
| ^~~
/usr/lib/ruby/vendor_ruby/inline.rb:646:in `build': error executing "x86_64-linux-gnu-gcc -shared -I/usr/local/include -Wl,-z,relro -Wl,-z,now -fPIC -g -O2 -ffile-prefix-map=BUILDDIR=. -fstack-protector-strong -fstack-clash-protection -Wformat -fcf-protection -fPIC -Wno-error=incompatible-pointer-types -L. -Wl,-z,relro -Wl,-z,now -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,--no-as-needed -I /usr/include/ruby-3.3.0 -I /usr/include/x86_64-linux-gnu/ruby-3.3.0 -I /usr/include/x86_64-linux-gnu/ruby-3.3.0 -I /usr/include -L/usr/lib -o \"/tmp/image_science.20261019-79-cbk76w/.ruby_inline/ruby-3.3.8/Inline_ImageScience_a18c47f3dc3bcc0dfd8d81db06c4488c.so\" \"/tmp/image_science.20261019-79-cbk76w/.ruby_inline/ruby-3.3.8/Inline_ImageScience_a18c47f3dc3bcc0dfd8d81db06c4488c.c\" -L/usr/local/lib -lfreeimage -lfreeimage -lstdc++ -lruby-3.3 ": pid 81 exit 1 (CompilationError)
Renamed /tmp/image_science.20261019-79-cbk76w/.ruby_inline/ruby-3.3.8/Inline_ImageScience_a18c47f3dc3bcc0dfd8d81db06c4488c.c to /tmp/image_science.20261019-79-cbk76w/.ruby_inline/ruby-3.3.8/Inline_ImageScience_a18c47f3dc3bcc0dfd8d81db06c4488c.c.bad
from /usr/lib/ruby/vendor_ruby/inline.rb:871:in `inline'
from /build/reproducible-path/ruby-image-science-1.3.1/debian/ruby-image-science/usr/share/rubygems-integration/all/gems/image_science-1.3.1/lib/image_science.rb:92:in `<class:ImageScience>'
from /build/reproducible-path/ruby-image-science-1.3.1/debian/ruby-image-science/usr/share/rubygems-integration/all/gems/image_science-1.3.1/lib/image_science.rb:13:in `<top (required)>'
from <internal:/usr/lib/ruby/vendor_ruby/rubygems/core_ext/kernel_require.rb>:144:in `require'
from <internal:/usr/lib/ruby/vendor_ruby/rubygems/core_ext/kernel_require.rb>:144:in `rescue in require'
from <internal:/usr/lib/ruby/vendor_ruby/rubygems/core_ext/kernel_require.rb>:138:in `require'
from /build/reproducible-path/ruby-image-science-1.3.1/test/test_image_science.rb:13:in `<top (required)>'
from <internal:/usr/lib/ruby/vendor_ruby/rubygems/core_ext/kernel_require.rb>:139:in `require'
from <internal:/usr/lib/ruby/vendor_ruby/rubygems/core_ext/kernel_require.rb>:139:in `require'
from /usr/share/rubygems-integration/all/gems/rake-13.4.2/lib/rake/rake_test_loader.rb:21:in `block in <main>'
from /usr/share/rubygems-integration/all/gems/rake-13.4.2/lib/rake/rake_test_loader.rb:6:in `select'
from /usr/share/rubygems-integration/all/gems/rake-13.4.2/lib/rake/rake_test_loader.rb:6:in `<main>'
<internal:/usr/lib/ruby/vendor_ruby/rubygems/core_ext/kernel_require.rb>:139:in `require': cannot load such file -- image_science (LoadError)
from <internal:/usr/lib/ruby/vendor_ruby/rubygems/core_ext/kernel_require.rb>:139:in `require'
from /build/reproducible-path/ruby-image-science-1.3.1/test/test_image_science.rb:13:in `<top (required)>'
from <internal:/usr/lib/ruby/vendor_ruby/rubygems/core_ext/kernel_require.rb>:139:in `require'
from <internal:/usr/lib/ruby/vendor_ruby/rubygems/core_ext/kernel_require.rb>:139:in `require'
from /usr/share/rubygems-integration/all/gems/rake-13.4.2/lib/rake/rake_test_loader.rb:21:in `block in <main>'
from /usr/share/rubygems-integration/all/gems/rake-13.4.2/lib/rake/rake_test_loader.rb:6:in `select'
from /usr/share/rubygems-integration/all/gems/rake-13.4.2/lib/rake/rake_test_loader.rb:6:in `<main>'
rake aborted!
Command failed with status (1): [ruby -w -I"test" /usr/share/rubygems-integration/all/gems/rake-13.4.2/lib/rake/rake_test_loader.rb "test/test_image_science.rb" -v]
/usr/share/rubygems-integration/all/gems/rake-13.4.2/exe/rake:27:in `<top (required)>'
Tasks: TOP => default
(See full trace by running task with --trace)
/usr/lib/ruby/vendor_ruby/gem2deb.rb:52:in `run': /usr/bin/ruby3.3 /usr/bin/gem2deb-test-runner (Gem2Deb::CommandFailed)
from /usr/lib/ruby/vendor_ruby/gem2deb.rb:64:in `block in run_ruby'
from /usr/lib/ruby/vendor_ruby/gem2deb.rb:87:in `maybe_crossbuild'
from /usr/lib/ruby/vendor_ruby/gem2deb.rb:63:in `run_ruby'
from /usr/lib/ruby/vendor_ruby/gem2deb/dh_ruby.rb:189:in `run_tests_for_version'
from /usr/lib/ruby/vendor_ruby/gem2deb/dh_ruby.rb:176:in `block in run_tests'
from /usr/lib/ruby/vendor_ruby/gem2deb/dh_ruby.rb:175:in `each'
from /usr/lib/ruby/vendor_ruby/gem2deb/dh_ruby.rb:175:in `run_tests'
from /usr/lib/ruby/vendor_ruby/gem2deb/dh_ruby.rb:71:in `run_tests'
from /usr/lib/ruby/vendor_ruby/gem2deb/dh_ruby.rb:57:in `install'
from /usr/lib/ruby/vendor_ruby/gem2deb/dh_ruby.rb:163:in `install'
from /usr/bin/dh_ruby:89:in `<main>'
dh_auto_install: error: dh_ruby --install /build/reproducible-path/ruby-image-science-1.3.1/debian/ruby-image-science returned exit code 1
make: *** [debian/rules:7: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2
==================== end of build log =============
Thanks,
Anton Gladky
More information about the Pkg-ruby-extras-maintainers
mailing list