[DRE-maint] Bug#1141020: ruby-nokogiri: FTBFS: Expected: #<Encoding:UTF-8> Actual: #<Encoding:ASCII-8BIT>

Santiago Vila sanvila at debian.org
Sun Jun 28 21:52:30 BST 2026


Package: src:ruby-nokogiri
Version: 1.19.3+dfsg-1
Severity: serious
Tags: ftbfs forky sid

Dear maintainer:

During a rebuild of all packages in unstable, this package failed to build.

Below you will find the last part of the build log (probably the most
relevant part, but not necessarily). If required, the full build log
is available here:

https://people.debian.org/~sanvila/build-logs/202606/

About the archive rebuild: The build was made on virtual machines from AWS,
using sbuild and a reduced chroot with only build-essential packages.

If you cannot reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.

If this is really a bug in one of the build-depends, please use
reassign and add an affects on src:ruby-nokogiri, so that this is still
visible in the BTS web page for this package.

Thanks.

--------------------------------------------------------------------------------
[...]
 debian/rules clean
dh clean --buildsystem=ruby --with ruby
dh: warning: Implicitly activating single-binary dh addon for backwards compatibility.  In compat 14+,
dh: warning: this fallback will *not* happen automatically via dh_auto_install will instead use a
dh: warning: different default for --destdir unless the single-binary add-on is active,
dh: warning: which can cause the source to produce an empty binary package
dh: warning: 
dh: warning: To keep the existing behaviour (compat 13), please activate the single-binary addon explicitly.
dh: warning: This can be done by adding "dh-sequence-single-binary" to Build-Depends or passing
dh: warning: --with=single-binary to dh.
dh: warning: 
dh: warning: If you have solved this issue differently (e.g., by passing --destdir explicitly to
dh: warning: dh_auto_install or not using dh_auto_install at all) and want to silence this warning
dh: warning: without activating the addon, you can do that by passing --without=single-binary to dh
dh: warning: to explicitly acknowledge the change.

[... snipped ...]

TestHtml5Encoding#test_inner_html_encoded_windows-874 = 0.00 s = .
TestHtml5Encoding#test_parse_encoded_Shift_JIS_with_encoding = 0.00 s = .
TestHtml5Encoding#test_roundtrip_through_windows-1251 = 0.00 s = .
TestHtml5Encoding#test_roundtrip_through_Shift_JIS_with_encoding = 0.00 s = .
TestHtml5Encoding#test_roundtrip_through_Shift_JIS = 0.00 s = .
TestHtml5Encoding#test_inner_html_encoded_macroman = 0.00 s = .
TestHtml5Encoding#test_roundtrip_through_ISO-8859-13 = 0.00 s = .
TestHtml5Encoding#test_roundtrip_through_ISO-8859-16_with_encoding = 0.00 s = .
TestHtml5Encoding#test_inner_html_encoded_ISO-8859-7 = 0.00 s = .
TestHtml5Encoding#test_roundtrip_through_UTF-8_with_encoding = 0.00 s = .
TestHtml5Encoding#test_roundtrip_through_windows-1252_with_encoding = 0.00 s = .
TestHtml5Encoding#test_roundtrip_through_IBM866_with_encoding = 0.00 s = .
TestHtml5Encoding#test_roundtrip_through_KOI8-R = 0.00 s = .
TestHtml5Encoding#test_parse_encoded_windows-1253 = 0.00 s = .
TestHtml5Encoding#test_roundtrip_through_ISO-8859-4_with_encoding = 0.00 s = .
TestHtml5Encoding#test_roundtrip_through_ISO-2022-JP_with_encoding = 0.00 s = S
TestHtml5Encoding#test_inner_html_encoded_ISO-8859-2 = 0.00 s = .
TestHtml5Encoding#test_parse_encoded_UTF-16BE = 0.00 s = .
TestHtml5Encoding#test_parse_encoded_ISO-8859-14 = 0.00 s = .
TestHtml5Encoding#test_parse_encoded_UTF-8_with_encoding = 0.00 s = .
TestHtml5Encoding#test_roundtrip_through_UTF-8 = 0.00 s = .
TestHtml5Encoding#test_parse_encoded_ISO-8859-7_with_encoding = 0.00 s = .
TestHtml5Encoding#test_parse_encoded_windows-1257 = 0.00 s = .
TestHtml5Encoding#test_roundtrip_through_windows-1256 = 0.00 s = .
TestHtml5Encoding#test_roundtrip_through_ISO-8859-14_with_encoding = 0.00 s = .
TestHtml5Encoding#test_inner_html_encoded_Big5 = 0.00 s = .
TestHtml5Encoding#test_parse_encoded_EUC-KR_with_encoding = 0.00 s = .
TestHtml5Encoding#test_roundtrip_through_windows-1253 = 0.00 s = .
TestHtml5Encoding#test_parse_encoded_ISO-8859-2 = 0.00 s = .
TestHtml5Encoding#test_inner_html_encoded_ISO-8859-15 = 0.00 s = .
TestHtml5Encoding#test_parse_encoded_ISO-8859-3 = 0.00 s = .
TestHtml5Encoding#test_parse_encoded_macCyrillic = 0.00 s = .
TestHtml5Encoding#test_utf16le_bom = 0.00 s = .
TestHtml5Encoding#test_inner_html_encoded_ISO-8859-5 = 0.00 s = .
TestHtml5Encoding#test_roundtrip_through_ISO-8859-15 = 0.00 s = .
TestHtml5Encoding#test_parse_encoded_windows-1255 = 0.00 s = .
TestHtml5Encoding#test_roundtrip_through_macCyrillic = 0.00 s = .
TestHtml5Encoding#test_charset_sniff_to_html = 0.00 s = .
TestHtml5Encoding#test_parse_encoded_EUC-JP_with_encoding = 0.00 s = .
TestHtml5Encoding#test_inner_html_encoded_IBM866 = 0.00 s = .
TestHtml5Encoding#test_inner_html_encoded_windows-1254 = 0.00 s = .
TestHtml5Encoding#test_roundtrip_through_KOI8-U = 0.00 s = .
TestHtml5Encoding#test_inner_html_encoded_UTF-8 = 0.00 s = .
TestHtml5Encoding#test_parse_encoded_windows-1250_with_encoding = 0.00 s = .
TestHtml5Encoding#test_parse_encoded_KOI8-R = 0.00 s = .
TestHtml5Encoding#test_roundtrip_through_ISO-8859-4 = 0.00 s = .
TestHtml5Encoding#test_roundtrip_through_macCyrillic_with_encoding = 0.00 s = .
TestHtml5Encoding#test_roundtrip_through_UTF-16BE_with_encoding = 0.00 s = .
TestHtml5Encoding#test_parse_encoded_windows-1252 = 0.00 s = .
TestHtml5Encoding#test_inner_html_encoded_ISO-8859-10 = 0.00 s = .
TestHtml5Encoding#test_roundtrip_through_ISO-8859-6_with_encoding = 0.00 s = .
TestHtml5Encoding#test_roundtrip_through_ISO-8859-14 = 0.00 s = .
TestHtml5Encoding#test_inner_html_encoded_UTF-16LE = 0.00 s = .
TestHtml5Encoding#test_roundtrip_through_ISO-8859-10 = 0.00 s = .
TestHtml5Encoding#test_parse_encoded_KOI8-R_with_encoding = 0.00 s = .
TestHtml5Encoding#test_parse_encoded_GBK = 0.00 s = .
TestHtml5Encoding#test_roundtrip_through_ISO-8859-16 = 0.00 s = .
TestHtml5Encoding#test_utf16be_bom = 0.00 s = .
TestHtml5Encoding#test_parse_encoded_macroman = 0.00 s = .
TestHtml5Encoding#test_parse_encoded_replacement_with_encoding = 0.00 s = S
TestHtml5Encoding#test_inner_html_encoded_windows-1256 = 0.00 s = .
TestHtml5Encoding#test_parse_encoded_macroman_with_encoding = 0.00 s = .
TestHtml5Encoding#test_roundtrip_through_ISO-8859-13_with_encoding = 0.00 s = .
TestHtml5Encoding#test_parse_encoded_ISO-8859-8-I = 0.00 s = S
TestHtml5Encoding#test_parse_encoded_ISO-8859-5_with_encoding = 0.00 s = .
TestHtml5Encoding#test_roundtrip_through_UTF-16BE = 0.00 s = .
TestHtml5Encoding#test_roundtrip_through_windows-1250_with_encoding = 0.00 s = .
TestHtml5Encoding#test_tag_after_utf8_bom = 0.00 s = .
TestHtml5Encoding#test_roundtrip_through_ISO-8859-5 = 0.00 s = .
TestHtml5Encoding#test_parse_encoded_ISO-2022-JP_with_encoding = 0.00 s = .
TestHtml5Encoding#test_parse_encoded_windows-1253_with_encoding = 0.00 s = .
TestHtml5Encoding#test_roundtrip_through_EUC-KR_with_encoding = 0.00 s = .
TestHtml5Encoding#test_parse_encoded_UTF-8 = 0.00 s = .
TestHtml5Encoding#test_roundtrip_through_windows-874_with_encoding = 0.00 s = .
TestHtml5Encoding#test_roundtrip_through_windows-1258 = 0.00 s = S
TestHtml5Encoding#test_parse_encoded_macCyrillic_with_encoding = 0.00 s = .
TestHtml5Encoding#test_roundtrip_through_ISO-8859-8_with_encoding = 0.00 s = .
TestHtml5Encoding#test_parse_encoded_windows-1250 = 0.00 s = .
TestHtml5Encoding#test_parse_encoded_ISO-8859-5 = 0.00 s = .
TestHtml5Encoding#test_parse_encoded_windows-1252_with_encoding = 0.00 s = .
TestHtml5Encoding#test_parse_encoded_ISO-8859-16_with_encoding = 0.00 s = .
TestHtml5Encoding#test_roundtrip_through_Big5_with_encoding = 0.00 s = .
TestHtml5Encoding#test_roundtrip_through_ISO-8859-6 = 0.00 s = .
Nokogiri::HTML4::TestNamedCharacters#test_named_character2 = 0.00 s = .
Nokogiri::HTML4::TestNamedCharacters#test_named_character = 0.00 s = .
Nokogiri::XML::XPathContext#test_0003_#node= = 0.00 s = .
Nokogiri::XML::XPathContext#test_0002_can register and deregister variables = 0.00 s = .
Nokogiri::XML::XPathContext#test_0001_can register and deregister namespaces = 0.00 s = .
Nokogiri::XML::TestNodeSet::Nokogiri::XML::NodeSet::#delete#test_0002_deletes the element when present and returns the deleted element = 0.00 s = .
Nokogiri::XML::TestNodeSet::Nokogiri::XML::NodeSet::#delete#test_0004_does nothing and returns nil when sent to and empty set = 0.00 s = .
Nokogiri::XML::TestNodeSet::Nokogiri::XML::NodeSet::#delete#test_0003_does nothing and returns nil when not present = 0.00 s = .
Nokogiri::XML::TestNodeSet::Nokogiri::XML::NodeSet::#delete#test_0001_raises ArgumentError when given an invalid argument = 0.00 s = .
Nokogiri::XML::TestNodeReparenting::standard node reparenting behavior::#children=::passed a non-Node#test_0001_raises an exception = 0.00 s = .
TestHtml5Attributes#test_serialize_attribute = 0.00 s = .
Nokogiri::HTML4::TestDocument::Nokogiri::HTML4::Document::.parse::read memory::strict parsing#test_0002_raises exception on parse error using kwarg = 0.00 s = .
Nokogiri::HTML4::TestDocument::Nokogiri::HTML4::Document::.parse::read memory::strict parsing#test_0001_raises exception on parse error = 0.00 s = .

Finished in 3.514020s, 781.7258 runs/s, 2796.2277 assertions/s.

  1) Skipped:
Nokogiri::XML::TestXPath#test_slow_jruby_xpath [test/xml/test_xpath.rb:210]:
testing against an absolute time is brittle. help make this better! see https://github.com/sparklemotion/nokogiri/issues/741

  2) Skipped:
Nokogiri::XML::TestNode::Nokogiri::XML::Node#test_node_context_parsing_of_malformed_html_fragment_without_recover_is_not_corrected [test/xml/test_node.rb:147]:
libxml2 2.14.0 no longer raises this error

  3) Skipped:
TestVersionInfo::RequireVersionFileOnly#test_version_info_for_xerces_and_nekohtml [test/helper.rb:105]:
xerces/nekohtml is only used for JRuby

  4) Skipped:
Nokogiri::XML::TestXPath::XPath wildcard namespaces#test_0001_allows namespace wildcards [test/helper.rb:100]:
this test needs libxml2 patched with 0009-allow-wildcard-namespaces.patch

  5) Skipped:
TestVersionInfo::RequireNokogiri#test_version_info_for_xerces_and_nekohtml [test/helper.rb:105]:
xerces/nekohtml is only used for JRuby

  6) Skipped:
serializing namespaces#test_0003_redeclares xmlns definitions when shadowed [test/helper.rb:284]:
pending https://github.com/sparklemotion/nokogiri/issues/3458 [/<<PKGBUILDDIR>>/test/helper.rb:292:in `pending_if']

  7) Skipped:
Nokogiri::HTML4::TestDocumentFragment::Nokogiri::HTML4::DocumentFragment#test_malformed_html5_fragment_serializes_like_gumbo [test/helper.rb:284]:
pending libxml2 does not serialize HTML5 like gumbo (yet) [/<<PKGBUILDDIR>>/test/html4/test_document_fragment.rb:211:in `test_malformed_html5_fragment_serializes_like_gumbo']

  8) Failure:
Nokogiri::XML::TestDocumentEncoding::Nokogiri::XML::Document encoding::pseudo-IO#test_0001_serializes correctly with Zip::OutputStream objects [test/xml/test_document_encoding.rb:128]:
Expected: #<Encoding:UTF-8>
  Actual: #<Encoding:ASCII-8BIT>

  9) Skipped:
Nokogiri::SAX::TestCase::Nokogiri::XML::SAX::Parser#test_0029_handles large CDATA [test/xml/sax/test_parser.rb:539]:
see #2132 and https://gitlab.gnome.org/GNOME/libxml2/-/issues/200

 10) Skipped:
Nokogiri::XSLT::TestCustomFunctions#test_global_function_jruby_not_impl [test/helper.rb:105]:
only testing not-impl on java

 11) Skipped:
Nokogiri::HTML4::TestAttributesProperlyEscaped#test_libxml_escapes_server_side_includes_without_nested_quotes [test/helper.rb:100]:
this test needs libxml2 patched with 0002-Update-entities-to-remove-handling-of-ssi.patch

 12) Skipped:
Nokogiri::HTML4::TestAttributesProperlyEscaped#test_libxml_escapes_server_side_includes [test/helper.rb:100]:
this test needs libxml2 patched with 0002-Update-entities-to-remove-handling-of-ssi.patch

 13) Skipped:
Nokogiri::HTML4::TestAttributesProperlyEscaped#test_attribute_macros_are_escaped [test/helper.rb:100]:
this test needs libxml2 patched with 0001-Remove-script-macro-support.patch

 14) Skipped:
Nokogiri::XSLT::TestExceptionHandling#test_java_exception_handling [test/helper.rb:105]:
This test is for Java only

 15) Skipped:
TestHTML4Attributes#test_uri_escaping_of_href_attr_in_div_tag [test/html4/test_attributes.rb:52]:
Skipped, no message given

 16) Skipped:
TestHTML4Attributes#test_uri_escaping_of_name_attr_in_a_tag [test/html4/test_attributes.rb:52]:
Skipped, no message given

 17) Skipped:
TestHTML4Attributes#test_uri_escaping_of_action_attr_in_a_tag [test/html4/test_attributes.rb:52]:
Skipped, no message given

 18) Skipped:
TestHTML4Attributes#test_uri_escaping_of_src_attr_in_div_tag [test/html4/test_attributes.rb:52]:
Skipped, no message given

 19) Skipped:
TestHTML4Attributes#test_uri_escaping_of_name_attr_in_div_tag [test/html4/test_attributes.rb:52]:
Skipped, no message given

 20) Skipped:
TestHTML4Attributes#test_uri_escaping_of_action_attr_in_div_tag [test/html4/test_attributes.rb:52]:
Skipped, no message given

 21) Skipped:
TestHTML4Attributes#test_uri_escaping_of_src_attr_in_a_tag [test/html4/test_attributes.rb:52]:
Skipped, no message given

 22) Skipped:
TestHTML4Attributes#test_uri_escaping_of_href_attr_in_a_tag [test/html4/test_attributes.rb:52]:
Skipped, no message given

 23) Skipped:
TestHtml5Encoding#test_parse_encoded_ISO-8859-8-I_with_encoding [test/html5/test_encoding.rb:172]:
ISO-8859-8-I not supported

 24) Skipped:
TestHtml5Encoding#test_roundtrip_through_ISO-2022-JP [test/html5/test_encoding.rb:222]:
https://bugs.ruby-lang.org/issues/15033

 25) Skipped:
TestHtml5Encoding#test_roundtrip_through_ISO-8859-8-I [test/html5/test_encoding.rb:172]:
ISO-8859-8-I not supported

 26) Skipped:
TestHtml5Encoding#test_inner_html_encoded_ISO-8859-8-I [test/html5/test_encoding.rb:172]:
ISO-8859-8-I not supported

 27) Skipped:
TestHtml5Encoding#test_parse_encoded_windows-1258_with_encoding [test/html5/test_encoding.rb:177]:
Converting UTF-8 to windows-1258 not supported

 28) Skipped:
TestHtml5Encoding#test_inner_html_encoded_replacement [test/html5/test_encoding.rb:172]:
replacement not supported

 29) Skipped:
TestHtml5Encoding#test_roundtrip_through_replacement [test/html5/test_encoding.rb:172]:
replacement not supported

 30) Skipped:
TestHtml5Encoding#test_roundtrip_through_windows-1258_with_encoding [test/html5/test_encoding.rb:177]:
Converting UTF-8 to windows-1258 not supported

 31) Skipped:
TestHtml5Encoding#test_roundtrip_through_replacement_with_encoding [test/html5/test_encoding.rb:172]:
replacement not supported

 32) Skipped:
TestHtml5Encoding#test_inner_html_encoded_windows-1258 [test/html5/test_encoding.rb:177]:
Converting UTF-8 to windows-1258 not supported

 33) Skipped:
TestHtml5Encoding#test_roundtrip_through_ISO-8859-8-I_with_encoding [test/html5/test_encoding.rb:172]:
ISO-8859-8-I not supported

 34) Skipped:
TestHtml5Encoding#test_parse_encoded_windows-1258 [test/html5/test_encoding.rb:177]:
Converting UTF-8 to windows-1258 not supported

 35) Skipped:
TestHtml5Encoding#test_parse_encoded_replacement [test/html5/test_encoding.rb:172]:
replacement not supported

 36) Skipped:
TestHtml5Encoding#test_roundtrip_through_ISO-2022-JP_with_encoding [test/html5/test_encoding.rb:236]:
https://bugs.ruby-lang.org/issues/15033

 37) Skipped:
TestHtml5Encoding#test_parse_encoded_replacement_with_encoding [test/html5/test_encoding.rb:172]:
replacement not supported

 38) Skipped:
TestHtml5Encoding#test_parse_encoded_ISO-8859-8-I [test/html5/test_encoding.rb:172]:
ISO-8859-8-I not supported

 39) Skipped:
TestHtml5Encoding#test_roundtrip_through_windows-1258 [test/html5/test_encoding.rb:177]:
Converting UTF-8 to windows-1258 not supported

2747 runs, 9826 assertions, 1 failures, 0 errors, 38 skips
rake aborted!
Command failed with status (1): [ruby -w -I"test" /usr/share [too-long-redacted] lude=/parses a compressed file/
"  -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:88:in `test'
	from /usr/lib/ruby/vendor_ruby/gem2deb/dh_ruby.rb:142:in `test'
	from /usr/bin/dh_ruby:91:in `<main>'
dh_auto_test: error: dh_ruby --test returned exit code 1
make: *** [debian/rules:15: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2
--------------------------------------------------------------------------------



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