[DRE-maint] Bug#888168: ruby-redcarpet: FTBFS on ruby2.5: incompatible library version

Chris West (Faux) debian at fau.xxx
Tue Jan 23 18:39:18 UTC 2018


Source: ruby-redcarpet
Version: 3.4.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


It seems to build then fail to load its extension? Not seen this on
other packages.


Build log excerpt:


┌──────────────────────────────────────────────────────────────────────────────┐
│ Build native extensions for ruby2.5                                          │
└──────────────────────────────────────────────────────────────────────────────┘

/usr/bin/ruby2.5 /usr/lib/ruby/vendor_ruby/gem2deb/extension_builder.rb /build/ruby-redcarpet-3.4.0 debian/ruby-redcarpet
"make clean"
make[1]: Entering directory '/build/ruby-redcarpet-3.4.0/ext/redcarpet'
make[1]: Leaving directory '/build/ruby-redcarpet-3.4.0/ext/redcarpet'
"make clean"
make[1]: Entering directory '/build/ruby-redcarpet-3.4.0/ext/redcarpet'
make[1]: Leaving directory '/build/ruby-redcarpet-3.4.0/ext/redcarpet'
current directory: /build/ruby-redcarpet-3.4.0/ext/redcarpet
/usr/bin/ruby2.5 -r ./siteconf20180123-308-zr9kz6.rb extconf.rb
creating Makefile
current directory: /build/ruby-redcarpet-3.4.0/ext/redcarpet
make V=1 "DESTDIR=" clean
make[1]: Entering directory '/build/ruby-redcarpet-3.4.0/ext/redcarpet'
rm -f 
rm -f redcarpet.so  *.o  *.bak mkmf.log .*.time
make[1]: Leaving directory '/build/ruby-redcarpet-3.4.0/ext/redcarpet'
current directory: /build/ruby-redcarpet-3.4.0/ext/redcarpet
make V=1 "DESTDIR="
make[1]: Entering directory '/build/ruby-redcarpet-3.4.0/ext/redcarpet'
gcc -I. -I/usr/include/x86_64-linux-gnu/ruby-2.5.0 -I/usr/include/ruby-2.5.0/ruby/backward -I/usr/include/ruby-2.5.0 -I. -Wdate-time -D_FORTIFY_SOURCE=2   -fPIC -g -O2 -fdebug-prefix-map=/build/ruby2.5-ed5dT1/ruby2.5-2.5.0=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -fvisibility=hidden  -o autolink.o -c autolink.c
gcc -I. -I/usr/include/x86_64-linux-gnu/ruby-2.5.0 -I/usr/include/ruby-2.5.0/ruby/backward -I/usr/include/ruby-2.5.0 -I. -Wdate-time -D_FORTIFY_SOURCE=2   -fPIC -g -O2 -fdebug-prefix-map=/build/ruby2.5-ed5dT1/ruby2.5-2.5.0=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -fvisibility=hidden  -o buffer.o -c buffer.c
buffer.c: In function 'bufcstr':
buffer.c:111:45: warning: passing argument 1 of 'bufgrow' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
  if (buf->size + 1 <= buf->asize || bufgrow(buf, buf->size + 1) == BUF_OK) {
                                             ^~~
buffer.c:60:1: note: expected 'struct buf *' but argument is of type 'const struct buf *'
 bufgrow(struct buf *buf, size_t neosz)
 ^~~~~~~
gcc -I. -I/usr/include/x86_64-linux-gnu/ruby-2.5.0 -I/usr/include/ruby-2.5.0/ruby/backward -I/usr/include/ruby-2.5.0 -I. -Wdate-time -D_FORTIFY_SOURCE=2   -fPIC -g -O2 -fdebug-prefix-map=/build/ruby2.5-ed5dT1/ruby2.5-2.5.0=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -fvisibility=hidden  -o houdini_href_e.o -c houdini_href_e.c
gcc -I. -I/usr/include/x86_64-linux-gnu/ruby-2.5.0 -I/usr/include/ruby-2.5.0/ruby/backward -I/usr/include/ruby-2.5.0 -I. -Wdate-time -D_FORTIFY_SOURCE=2   -fPIC -g -O2 -fdebug-prefix-map=/build/ruby2.5-ed5dT1/ruby2.5-2.5.0=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -fvisibility=hidden  -o houdini_html_e.o -c houdini_html_e.c
gcc -I. -I/usr/include/x86_64-linux-gnu/ruby-2.5.0 -I/usr/include/ruby-2.5.0/ruby/backward -I/usr/include/ruby-2.5.0 -I. -Wdate-time -D_FORTIFY_SOURCE=2   -fPIC -g -O2 -fdebug-prefix-map=/build/ruby2.5-ed5dT1/ruby2.5-2.5.0=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -fvisibility=hidden  -o html.o -c html.c
gcc -I. -I/usr/include/x86_64-linux-gnu/ruby-2.5.0 -I/usr/include/ruby-2.5.0/ruby/backward -I/usr/include/ruby-2.5.0 -I. -Wdate-time -D_FORTIFY_SOURCE=2   -fPIC -g -O2 -fdebug-prefix-map=/build/ruby2.5-ed5dT1/ruby2.5-2.5.0=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -fvisibility=hidden  -o html_smartypants.o -c html_smartypants.c
gcc -I. -I/usr/include/x86_64-linux-gnu/ruby-2.5.0 -I/usr/include/ruby-2.5.0/ruby/backward -I/usr/include/ruby-2.5.0 -I. -Wdate-time -D_FORTIFY_SOURCE=2   -fPIC -g -O2 -fdebug-prefix-map=/build/ruby2.5-ed5dT1/ruby2.5-2.5.0=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -fvisibility=hidden  -o markdown.o -c markdown.c
markdown.c: In function 'sd_markdown_render':
markdown.c:2836:43: warning: passing argument 1 of 'is_codefence' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
   if (codefences_enabled && (is_codefence(document + beg, doc_size - beg, NULL) != 0))
                                           ^~~~~~~~
markdown.c:1389:1: note: expected 'uint8_t * {aka unsigned char *}' but argument is of type 'const uint8_t * {aka const unsigned char *}'
 is_codefence(uint8_t *data, size_t size, struct buf *syntax)
 ^~~~~~~~~~~~
gcc -I. -I/usr/include/x86_64-linux-gnu/ruby-2.5.0 -I/usr/include/ruby-2.5.0/ruby/backward -I/usr/include/ruby-2.5.0 -I. -Wdate-time -D_FORTIFY_SOURCE=2   -fPIC -g -O2 -fdebug-prefix-map=/build/ruby2.5-ed5dT1/ruby2.5-2.5.0=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -fvisibility=hidden  -o rc_markdown.o -c rc_markdown.c
gcc -I. -I/usr/include/x86_64-linux-gnu/ruby-2.5.0 -I/usr/include/ruby-2.5.0/ruby/backward -I/usr/include/ruby-2.5.0 -I. -Wdate-time -D_FORTIFY_SOURCE=2   -fPIC -g -O2 -fdebug-prefix-map=/build/ruby2.5-ed5dT1/ruby2.5-2.5.0=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -fvisibility=hidden  -o rc_render.o -c rc_render.c
gcc -I. -I/usr/include/x86_64-linux-gnu/ruby-2.5.0 -I/usr/include/ruby-2.5.0/ruby/backward -I/usr/include/ruby-2.5.0 -I. -Wdate-time -D_FORTIFY_SOURCE=2   -fPIC -g -O2 -fdebug-prefix-map=/build/ruby2.5-ed5dT1/ruby2.5-2.5.0=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -fvisibility=hidden  -o stack.o -c stack.c
rm -f redcarpet.so
gcc -shared -o redcarpet.so autolink.o buffer.o houdini_href_e.o houdini_html_e.o html.o html_smartypants.o markdown.o rc_markdown.o rc_render.o stack.o -L. -L/usr/lib/x86_64-linux-gnu -L. -Wl,-z,relro -Wl,-z,now -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,-z,relro -Wl,-z,now -Wl,--compress-debug-sections=zlib    -lruby-2.5  -lpthread -lgmp -ldl -lcrypt -lm   -lc
make[1]: Leaving directory '/build/ruby-redcarpet-3.4.0/ext/redcarpet'
current directory: /build/ruby-redcarpet-3.4.0/ext/redcarpet
make V=1 "DESTDIR=" install
make[1]: Entering directory '/build/ruby-redcarpet-3.4.0/ext/redcarpet'
/bin/mkdir -p . ./.gem.20180123-308-l2vbis
exit > .sitearchdir.time
/usr/bin/install -c -m 0755 redcarpet.so ./.gem.20180123-308-l2vbis
make[1]: Leaving directory '/build/ruby-redcarpet-3.4.0/ext/redcarpet'
Rewriting shebang line of /build/ruby-redcarpet-3.4.0/debian/ruby-redcarpet/usr/bin/redcarpet

┌──────────────────────────────────────────────────────────────────────────────┐
│ Install Rubygems integration metadata                                        │
└──────────────────────────────────────────────────────────────────────────────┘

generating gemspec at /build/ruby-redcarpet-3.4.0/debian/ruby-redcarpet/usr/share/rubygems-integration/2.3.0/specifications/redcarpet-3.4.0.gemspec
generating gemspec at /build/ruby-redcarpet-3.4.0/debian/ruby-redcarpet/usr/share/rubygems-integration/2.5.0/specifications/redcarpet-3.4.0.gemspec
/usr/bin/ruby2.3 /usr/bin/gem2deb-test-runner

┌──────────────────────────────────────────────────────────────────────────────┐
│ Checking Rubygems dependency resolution on ruby2.3                           │
└──────────────────────────────────────────────────────────────────────────────┘

GEM_PATH=debian/ruby-redcarpet/usr/share/rubygems-integration/2.3.0:/root/.gem/ruby/2.3.0:/var/lib/gems/2.3.0:/usr/lib/x86_64-linux-gnu/rubygems-integration/2.3.0:/usr/share/rubygems-integration/2.3.0:/usr/share/rubygems-integration/all ruby2.3 -e gem\ \"redcarpet\"

┌──────────────────────────────────────────────────────────────────────────────┐
│ Run tests for ruby2.3 from debian/ruby-tests.rake                            │
└──────────────────────────────────────────────────────────────────────────────┘

RUBYLIB=/build/ruby-redcarpet-3.4.0/debian/ruby-redcarpet/usr/lib/x86_64-linux-gnu/ruby/vendor_ruby/2.3.0:/build/ruby-redcarpet-3.4.0/debian/ruby-redcarpet/usr/lib/ruby/vendor_ruby:. GEM_PATH=debian/ruby-redcarpet/usr/share/rubygems-integration/2.3.0:/root/.gem/ruby/2.3.0:/var/lib/gems/2.3.0:/usr/lib/x86_64-linux-gnu/rubygems-integration/2.3.0:/usr/share/rubygems-integration/2.3.0:/usr/share/rubygems-integration/all ruby2.3 -S rake -f debian/ruby-tests.rake
/usr/bin/ruby2.3 -I"lib:lib:test"  "/usr/lib/ruby/vendor_ruby/rake/rake_test_loader.rb" "test/custom_render_test.rb" "test/html5_test.rb" "test/html_render_test.rb" "test/html_toc_render_test.rb" "test/markdown_test.rb" "test/pathological_inputs_test.rb" "test/redcarpet_bin_test.rb" "test/redcarpet_compat_test.rb" "test/safe_render_test.rb" "test/smarty_html_test.rb" "test/smarty_pants_test.rb" "test/stripdown_render_test.rb" 
Loaded suite /usr/lib/ruby/vendor_ruby/rake/rake_test_loader
Started
...............................................................................
...............................................

Finished in 0.374305373 seconds.
------
126 tests, 178 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed
------
336.62 tests/s, 475.55 assertions/s
/usr/bin/ruby2.5 /usr/bin/gem2deb-test-runner

┌──────────────────────────────────────────────────────────────────────────────┐
│ Checking Rubygems dependency resolution on ruby2.5                           │
└──────────────────────────────────────────────────────────────────────────────┘

GEM_PATH=debian/ruby-redcarpet/usr/share/rubygems-integration/2.5.0:/root/.gem/ruby/2.5.0:/var/lib/gems/2.5.0:/usr/lib/x86_64-linux-gnu/rubygems-integration/2.5.0:/usr/share/rubygems-integration/2.5.0:/usr/share/rubygems-integration/all ruby2.5 -e gem\ \"redcarpet\"

┌──────────────────────────────────────────────────────────────────────────────┐
│ Run tests for ruby2.5 from debian/ruby-tests.rake                            │
└──────────────────────────────────────────────────────────────────────────────┘

RUBYLIB=/build/ruby-redcarpet-3.4.0/debian/ruby-redcarpet/usr/lib/x86_64-linux-gnu/ruby/vendor_ruby/2.5.0:/build/ruby-redcarpet-3.4.0/debian/ruby-redcarpet/usr/lib/ruby/vendor_ruby:. GEM_PATH=debian/ruby-redcarpet/usr/share/rubygems-integration/2.5.0:/root/.gem/ruby/2.5.0:/var/lib/gems/2.5.0:/usr/lib/x86_64-linux-gnu/rubygems-integration/2.5.0:/usr/share/rubygems-integration/2.5.0:/usr/share/rubygems-integration/all ruby2.5 -S rake -f debian/ruby-tests.rake
/usr/bin/ruby2.5 -I"lib:lib:test"  "/usr/lib/ruby/vendor_ruby/rake/rake_test_loader.rb" "test/custom_render_test.rb" "test/html5_test.rb" "test/html_render_test.rb" "test/html_toc_render_test.rb" "test/markdown_test.rb" "test/pathological_inputs_test.rb" "test/redcarpet_bin_test.rb" "test/redcarpet_compat_test.rb" "test/safe_render_test.rb" "test/smarty_html_test.rb" "test/smarty_pants_test.rb" "test/stripdown_render_test.rb" 
Loaded suite /usr/lib/ruby/vendor_ruby/rake/rake_test_loader
Started
...............................................................................
......../usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': incompatible library version - /build/ruby-redcarpet-3.4.0/debian/ruby-redcarpet/usr/lib/x86_64-linux-gnu/ruby/vendor_ruby/2.5.0/redcarpet.so (LoadError)
	from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from /build/ruby-redcarpet-3.4.0/lib/redcarpet.rb:1:in `<top (required)>'
	from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from /build/ruby-redcarpet-3.4.0/lib/redcarpet/cli.rb:1:in `<top (required)>'
	from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from /build/ruby-redcarpet-3.4.0/bin/redcarpet:5:in `<main>'
F
===============================================================================
Failure:
  </<mark>/> was expected to be =~
  <"">.

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

Please fix it!

Cheers,
Chris.



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