Bug #15570

rb_int2big signature change #14036 breaks VIM on 32b arches

Added by vo.x (Vit Ondruch) over 1 year ago. Updated about 1 month ago.

Target version:
ruby -v:
ruby 2.6.0p0 (2018-12-25 revision 66547) [i386-linux]


It was recently pointed out by VIM maintainer in Fedora 1, that VIM fails to build with Ruby 2.6 with the following error:

gcc -c -I. -DDYNAMIC_RUBY_DLL=\"\" -DDYNAMIC_RUBY_VER=26 -I/usr/include -I/usr/include -DRUBY_VERSION=26 -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/uuid -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gio-unix-2.0 -I/usr/include/libdrm -I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -pthread    -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m32 -march=i686 -mtune=generic -msse2 -mfpmath=sse -mstackrealign -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/python3.6m -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/if_ruby.o if_ruby.c
if_ruby.c:509:7: error: conflicting types for 'rb_int2big_stub'
  509 | VALUE rb_int2big_stub(SIGNED_VALUE x)
      |       ^~~~~~~~~~~~~~~
if_ruby.c:107:21: note: previous declaration of 'rb_int2big_stub' was here
  107 | # define rb_int2big rb_int2big_stub
      |                     ^~~~~~~~~~~~~~~
make: *** [Makefile:3091: objects/if_ruby.o] Error 1
make: *** Waiting for unfinished jobs....

This is apparently due to #14036. The naive fix in VIM is quite easy 2, but I wonder if there is any better way to fix this breakage.

Related issues

Related to Ruby master - Bug #14036: Signature of rb_uint2big and rb_int2bigClosedActions

Updated by vo.x (Vit Ondruch) over 1 year ago

  • Related to Bug #14036: Signature of rb_uint2big and rb_int2big added

Updated by zdohnal (Zdenek Dohnal) over 1 year ago


I'm Zdenek, Fedora/RHEL Vim's maintainer and I confirm Vita's report - Vim started to fail on 32b archs since ruby 2.6 landed in Fedora rawhide because of change in [[[]]] , which seemed more like cosmetic change, but it broke API compatibility.

Updated by jeremyevans0 (Jeremy Evans) about 1 month ago

  • Status changed from Open to Closed

This was fixed in vim (, so I think this can be closed, as changing it back would rebreak vim.

Also available in: Atom PDF