rb_int2big signature change #14036 breaks VIM on 32b arches
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=\"libruby.so.2.6\" -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....
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 [[[https://bugs.ruby-lang.org/issues/14036]]] , 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 (https://github.com/vim/vim/commit/63d1fea8141c3dfb36aeb9de60e5f1f90450acff), so I think this can be closed, as changing it back would rebreak vim.