[DRE-maint] Bug#888197: ruby-yajl: FTBFS on ruby2.5: rb_cFixnum undefined

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


Source: ruby-yajl
Version: 1.2.0-3.1
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

Build log excerpt:


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

/usr/bin/ruby2.5 /usr/lib/ruby/vendor_ruby/gem2deb/extension_builder.rb /build/ruby-yajl-1.2.0 debian/ruby-yajl
"make clean"
make[1]: Entering directory '/build/ruby-yajl-1.2.0/ext/yajl'
make[1]: Leaving directory '/build/ruby-yajl-1.2.0/ext/yajl'
"make clean"
make[1]: Entering directory '/build/ruby-yajl-1.2.0/ext/yajl'
make[1]: Leaving directory '/build/ruby-yajl-1.2.0/ext/yajl'
current directory: /build/ruby-yajl-1.2.0/ext/yajl
/usr/bin/ruby2.5 -r ./siteconf20180123-364-1ppgeqs.rb extconf.rb
creating Makefile
current directory: /build/ruby-yajl-1.2.0/ext/yajl
make V=1 "DESTDIR=" clean
make[1]: Entering directory '/build/ruby-yajl-1.2.0/ext/yajl'
rm -f 
rm -f yajl.so  *.o  *.bak mkmf.log .*.time
make[1]: Leaving directory '/build/ruby-yajl-1.2.0/ext/yajl'
current directory: /build/ruby-yajl-1.2.0/ext/yajl
make V=1 "DESTDIR="
make[1]: Entering directory '/build/ruby-yajl-1.2.0/ext/yajl'
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 -Wall -funroll-loops  -o yajl.o -c yajl.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 -Wall -funroll-loops  -o yajl_alloc.o -c yajl_alloc.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 -Wall -funroll-loops  -o yajl_buf.o -c yajl_buf.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 -Wall -funroll-loops  -o yajl_encode.o -c yajl_encode.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 -Wall -funroll-loops  -o yajl_ext.o -c yajl_ext.c
yajl_ext.c: In function 'rb_yajl_parser_parse':
yajl_ext.c:472:17: warning: variable 'stat' set but not used [-Wunused-but-set-variable]
     yajl_status stat;
                 ^~~~
yajl_ext.c: In function 'rb_yajl_encoder_enable_json_gem_ext':
yajl_ext.c:882:22: error: 'rb_cFixnum' undeclared (first use in this function); did you mean 'rb_isalnum'?
     rb_define_method(rb_cFixnum, "to_json", rb_yajl_json_ext_fixnum_to_json, -1);
                      ^~~~~~~~~~
                      rb_isalnum
yajl_ext.c:882:22: note: each undeclared identifier is reported only once for each function it appears in
Makefile:242: recipe for target 'yajl_ext.o' failed
make[1]: *** [yajl_ext.o] Error 1
make[1]: Leaving directory '/build/ruby-yajl-1.2.0/ext/yajl'
/usr/lib/ruby/2.5.0/rubygems/ext/builder.rb:92:in `run': make failed, exit code 2 (Gem::InstallError)
	from /usr/lib/ruby/2.5.0/rubygems/ext/builder.rb:52:in `block in make'
	from /usr/lib/ruby/2.5.0/rubygems/ext/builder.rb:44:in `each'
	from /usr/lib/ruby/2.5.0/rubygems/ext/builder.rb:44:in `make'
	from /usr/lib/ruby/2.5.0/rubygems/ext/ext_conf_builder.rb:61:in `block in build'
	from /usr/lib/ruby/2.5.0/tempfile.rb:295:in `open'
	from /usr/lib/ruby/2.5.0/rubygems/ext/ext_conf_builder.rb:30:in `build'
	from /usr/lib/ruby/vendor_ruby/gem2deb/extension_builder.rb:76:in `block in build_and_install'
	from /usr/lib/ruby/vendor_ruby/gem2deb/extension_builder.rb:70:in `chdir'
	from /usr/lib/ruby/vendor_ruby/gem2deb/extension_builder.rb:70:in `build_and_install'
	from /usr/lib/ruby/vendor_ruby/gem2deb/extension_builder.rb:108:in `block in build_all_extensions'
	from /usr/lib/ruby/vendor_ruby/gem2deb/extension_builder.rb:105:in `each'
	from /usr/lib/ruby/vendor_ruby/gem2deb/extension_builder.rb:105:in `build_all_extensions'
	from /usr/lib/ruby/vendor_ruby/gem2deb/extension_builder.rb:121:in `<main>'
/usr/lib/ruby/vendor_ruby/gem2deb.rb:56:in `run': /usr/bin/ruby2.5 /usr/lib/ruby/vendor_ruby/gem2deb/extension_builder.rb /build/ruby-yajl-1.2.0 debian/ruby-yajl (Gem2Deb::CommandFailed)
	from /usr/lib/ruby/vendor_ruby/gem2deb.rb:67:in `run_ruby'
	from /usr/lib/ruby/vendor_ruby/gem2deb/installer.rb:37:in `block in install_files_and_build_extensions'
	from /usr/lib/ruby/vendor_ruby/gem2deb/installer.rb:34:in `each'
	from /usr/lib/ruby/vendor_ruby/gem2deb/installer.rb:34:in `install_files_and_build_extensions'
	from /usr/lib/ruby/vendor_ruby/gem2deb/dh_ruby.rb:84:in `block in install'
	from /usr/lib/ruby/vendor_ruby/gem2deb/dh_ruby.rb:82:in `each'
	from /usr/lib/ruby/vendor_ruby/gem2deb/dh_ruby.rb:82:in `install'
	from /usr/bin/dh_ruby:94:in `<main>'
dh_auto_install: dh_ruby --install /build/ruby-yajl-1.2.0/debian/ruby-yajl returned exit code 1
debian/rules:15: 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-yajl.log

Please fix it!

Cheers,
Chris.



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