ruby-odbc在ruby 3.2.x上出现错误,原因如下:
ruby-odbc-0.99999/lib/odbc.so: undefined symbol: rb_tainted_str_new
现在,Ruby C方法rb_tainted_str_new被删除了。你知道有什么补丁可以解决这个问题吗?一般来说,有没有人维护这个宝石?
rb_tainted_str_new
rjee0c151#
只要gem没有使用污点机制驱动任何逻辑,就可以通过将rb_tainted_str_new替换为rb_str_new(这应该包括将rb_tainted_str_new2替换为rb_str_new2)并删除对rb_obj_taint的任何调用来进行简单的修补。看起来好像有人已经用forked ruby-odbc来完成这个任务:https://github.com/vhermecz/ruby-odbc/commit/c38d182863b907f9ce55d2dfeb9bd86e698f8968在你的gemfile中,你可以安装他们的补丁版本:
rb_str_new
rb_tainted_str_new2
rb_str_new2
rb_obj_taint
gem 'ruby-odbc', github: 'vhermecz/ruby-odbc'
1条答案
按热度按时间rjee0c151#
只要gem没有使用污点机制驱动任何逻辑,就可以通过将
rb_tainted_str_new
替换为rb_str_new
(这应该包括将rb_tainted_str_new2
替换为rb_str_new2
)并删除对rb_obj_taint
的任何调用来进行简单的修补。看起来好像有人已经用forked ruby-odbc来完成这个任务:https://github.com/vhermecz/ruby-odbc/commit/c38d182863b907f9ce55d2dfeb9bd86e698f8968
在你的gemfile中,你可以安装他们的补丁版本: