[DRE-maint] Bug#889021: ruby-ffi-yajl: FTBFS with ruby2.5: 'rb_cFixnum' undeclared

Antonio Terceiro terceiro at debian.org
Thu Feb 1 10:11:21 UTC 2018


Source: ruby-ffi-yajl
Severity: serious
Justification: Fails to build from source
User: debian-ruby at lists.debian.org
Usertags: ruby2.5

I am filing this at severity serious as I am about to enable building for
ruby2.5 in unstable.

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

/usr/bin/ruby2.5 /usr/lib/ruby/vendor_ruby/gem2deb/extension_builder.rb /<<PKGBUILDDIR>> debian/ruby-ffi-yajl
"make clean"
make[2]: Entering directory '/<<PKGBUILDDIR>>/ext/ffi_yajl/ext/dlopen'
make[2]: Leaving directory '/<<PKGBUILDDIR>>/ext/ffi_yajl/ext/dlopen'
"make clean"
make[2]: Entering directory '/<<PKGBUILDDIR>>/ext/ffi_yajl/ext/dlopen'
make[2]: Leaving directory '/<<PKGBUILDDIR>>/ext/ffi_yajl/ext/dlopen'
current directory: /<<PKGBUILDDIR>>/ext/ffi_yajl/ext/dlopen
/usr/bin/ruby2.5 -r ./siteconf20180131-9818-r8yepd.rb extconf.rb
-g -O2 -fdebug-prefix-map=/build/ruby2.5-ed5dT1/ruby2.5-2.5.0=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC
-L. -Wl,-z,relro -Wl,-z,now -fstack-protector -rdynamic -Wl,-export-dynamic
checking for dlfcn.h... yes
checking for dlopen() in -ldl... yes
creating Makefile
current directory: /<<PKGBUILDDIR>>/ext/ffi_yajl/ext/dlopen
make V=1 "DESTDIR=" clean
make[2]: Entering directory '/<<PKGBUILDDIR>>/ext/ffi_yajl/ext/dlopen'
rm -f
rm -f dlopen.so  *.o  *.bak mkmf.log .*.time
make[2]: Leaving directory '/<<PKGBUILDDIR>>/ext/ffi_yajl/ext/dlopen'
current directory: /<<PKGBUILDDIR>>/ext/ffi_yajl/ext/dlopen
make V=1 "DESTDIR="
make[2]: Entering directory '/<<PKGBUILDDIR>>/ext/ffi_yajl/ext/dlopen'
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. -DHAVE_DLFCN_H -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  -o dlopen.o -c dlopen.c
rm -f dlopen.so
gcc -shared -o dlopen.so dlopen.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 -ldl  -lpthread -lgmp -ldl -lcrypt -lm   -lc
make[2]: Leaving directory '/<<PKGBUILDDIR>>/ext/ffi_yajl/ext/dlopen'
current directory: /<<PKGBUILDDIR>>/ext/ffi_yajl/ext/dlopen
make V=1 "DESTDIR=" install
make[2]: Entering directory '/<<PKGBUILDDIR>>/ext/ffi_yajl/ext/dlopen'
/bin/mkdir -p . ./.gem.20180131-9818-oj2q1e/ffi_yajl/ext
exit > .sitearchdir.-.ffi_yajl.-.ext.time
/usr/bin/install -c -m 0755 dlopen.so ./.gem.20180131-9818-oj2q1e/ffi_yajl/ext
make[2]: Leaving directory '/<<PKGBUILDDIR>>/ext/ffi_yajl/ext/dlopen'
rm -f /<<PKGBUILDDIR>>/debian/ruby-ffi-yajl/usr/lib/x86_64-linux-gnu/ruby/vendor_ruby/2.5.0/mkmf.log
"make clean"
make[2]: Entering directory '/<<PKGBUILDDIR>>/ext/ffi_yajl/ext/encoder'
make[2]: Leaving directory '/<<PKGBUILDDIR>>/ext/ffi_yajl/ext/encoder'
"make clean"
make[2]: Entering directory '/<<PKGBUILDDIR>>/ext/ffi_yajl/ext/encoder'
make[2]: Leaving directory '/<<PKGBUILDDIR>>/ext/ffi_yajl/ext/encoder'
current directory: /<<PKGBUILDDIR>>/ext/ffi_yajl/ext/encoder
/usr/bin/ruby2.5 -r ./siteconf20180131-9818-17gzwda.rb extconf.rb
-g -O2 -fdebug-prefix-map=/build/ruby2.5-ed5dT1/ruby2.5-2.5.0=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC
-L. -Wl,-z,relro -Wl,-z,now -fstack-protector -rdynamic -Wl,-export-dynamic
checking for yajl/yajl_tree.h... yes
creating Makefile
current directory: /<<PKGBUILDDIR>>/ext/ffi_yajl/ext/encoder
make V=1 "DESTDIR=" clean
make[2]: Entering directory '/<<PKGBUILDDIR>>/ext/ffi_yajl/ext/encoder'
rm -f
rm -f encoder.so  *.o  *.bak mkmf.log .*.time
make[2]: Leaving directory '/<<PKGBUILDDIR>>/ext/ffi_yajl/ext/encoder'
current directory: /<<PKGBUILDDIR>>/ext/ffi_yajl/ext/encoder
make V=1 "DESTDIR="
make[2]: Entering directory '/<<PKGBUILDDIR>>/ext/ffi_yajl/ext/encoder'
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  -o encoder.o -c encoder.c
encoder.c: In function 'Init_encoder':
encoder.c:380:20: error: 'rb_cFixnum' undeclared (first use in this function); did you mean 'rb_isalnum'?
   rb_define_method(rb_cFixnum, "ffi_yajl", rb_cFixnum_ffi_yajl, 2);
                    ^~~~~~~~~~
                    rb_isalnum
encoder.c:380:20: note: each undeclared identifier is reported only once for each function it appears in
encoder.c:381:20: error: 'rb_cBignum' undeclared (first use in this function); did you mean 'rb_cFixnum'?
   rb_define_method(rb_cBignum, "ffi_yajl", rb_cBignum_ffi_yajl, 2);
                    ^~~~~~~~~~
                    rb_cFixnum
Makefile:242: recipe for target 'encoder.o' failed
make[2]: *** [encoder.o] Error 1
make[2]: Leaving directory '/<<PKGBUILDDIR>>/ext/ffi_yajl/ext/encoder'
~~~~~~~~~~~~~~~~~~~~~ ↓ mkmf.log ~~~~~~~~~~~~~~~~~~~~~
find_header: checking for yajl/yajl_tree.h... -------------------- yes

"gcc -o conftest -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   -g -O2 -fdebug-prefix-map=/build/ruby2.5-ed5dT1/ruby2.5-2.5.0=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -Wall conftest.c  -L. -L/usr/lib/x86_64-linux-gnu -L. -Wl,-z,relro -Wl,-z,now -fstack-protector -rdynamic -Wl,-export-dynamic     -lruby-2.5  -lpthread -lgmp -ldl -lcrypt -lm   -lc"
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: int main(int argc, char **argv)
4: {
5:   return 0;
6: }
/* end */

"gcc -E -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   -g -O2 -fdebug-prefix-map=/build/ruby2.5-ed5dT1/ruby2.5-2.5.0=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -Wall  conftest.c -o conftest.i"
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include <yajl/yajl_tree.h>
/* end */

--------------------

/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>'
~~~~~~~~~~~~~~~~~~~~~ ↑ mkmf.log ~~~~~~~~~~~~~~~~~~~~~
/usr/lib/ruby/vendor_ruby/gem2deb.rb:56:in `run': /usr/bin/ruby2.5 /usr/lib/ruby/vendor_ruby/gem2deb/extension_builder.rb /<<PKGBUILDDIR>> debian/ruby-ffi-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>'



-- System Information:
Debian Release: buster/sid
  APT prefers unstable-debug
  APT policy: (500, 'unstable-debug'), (500, 'testing-debug'), (500, 'unstable'), (500, 'testing'), (1, 'experimental-debug'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 4.14.0-3-amd64 (SMP w/4 CPU cores)
Locale: LANG=pt_BR.UTF-8, LC_CTYPE=pt_BR.UTF-8 (charmap=UTF-8), LANGUAGE=pt_BR:pt:en (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

-- no debconf information
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-ruby-extras-maintainers/attachments/20180201/533bb666/attachment.sig>


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