Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Removed jaro_winkler as a dependency #1389

Merged
merged 1 commit into from May 6, 2024

Conversation

prathmesh-stripe
Copy link
Contributor

@prathmesh-stripe prathmesh-stripe commented Apr 26, 2024

Seems like jaro_winkler is not used anywhere even in dependency tree. I can't seem to bundle install jaro_winkler:v1.5.4. Once I upgrade to 1.5.6 it install seamlessly.

CI works with 1.5.6 and even after removing the dependency.

Do we have more context on this? Why was this introduced or where is it being used? Are we okay with removing this?

bundle exec gem dependency outputs:

Gem addressable-2.8.6
  bundler (>= 1.0, < 3.0, development)
  public_suffix (>= 2.0.2, < 6.0)

Gem ast-2.4.2
  bacon (~> 1.2, development)
  bacon-colored_output (>= 0, development)
  coveralls (~> 0.8.23, development)
  kramdown (>= 0, development)
  rake (~> 12.3, development)
  simplecov (>= 0, development)
  yard (>= 0, development)

Gem bigdecimal-3.1.7

Gem bundler-2.1.2

Gem byebug-11.1.3
  bundler (~> 2.0, development)

Gem coderay-1.1.3

Gem coveralls_reborn-0.25.0
  bundler (>= 1.16, < 3, development)
  simplecov (>= 0.18.1, < 0.22.0)
  simplecov-lcov (~> 0.8.0, development)
  term-ansicolor (~> 1.6)
  thor (>= 0.20.3, < 2.0)
  tins (~> 1.16)

Gem crack-1.0.0
  bigdecimal (>= 0)
  rexml (>= 0)

Gem diff-lcs-1.5.1
  hoe (>= 3.0, < 5, development)
  hoe-doofus (~> 1.0, development)
  hoe-gemspec2 (~> 1.1, development)
  hoe-git2 (~> 1.7, development)
  hoe-rubygems (~> 1.0, development)
  rake (>= 10.0, < 14, development)
  rdoc (>= 6.3.1, < 7, development)
  rspec (>= 2.0, < 4, development)

Gem docile-1.4.0

Gem hashdiff-1.1.0
  bluecloth (>= 0, development)
  rspec (~> 3.5, development)
  rubocop (>= 1.52.1, development)
  rubocop-rspec (> 1.16.0, development)
  yard (>= 0, development)

Gem jaro_winkler-1.5.6
  minitest (>= 0, development)
  rake (~> 13.0, development)
  rake-compiler (>= 0, development)

Gem json-2.7.1

Gem language_server-protocol-3.17.0.3
  activesupport (>= 0, development)
  bundler (>= 2.0.0, development)
  m (>= 0, development)
  minitest (~> 5.0, development)
  minitest-power_assert (>= 0, development)
  rake (>= 12.3.3, development)

Gem method_source-1.0.0
  rake (~> 0.9, development)
  rspec (~> 3.6, development)

Gem mocha-1.16.1

Gem netrc-0.11.0
  minitest (>= 0, development)

Gem parallel-1.24.0

Gem parser-3.3.0.5
  ast (~> 2.4.1)
  bundler (>= 1.15, < 3.0.0, development)
  cliver (~> 0.3.2, development)
  gauntlet (>= 0, development)
  kramdown (>= 0, development)
  minitest (~> 5.10, development)
  racc (>= 0)
  rake (~> 13.0.1, development)
  simplecov (~> 0.15.1, development)
  yard (>= 0, development)

Gem power_assert-2.0.3
  benchmark-ips (>= 0, development)
  bundler (>= 0, development)
  byebug (>= 0, development)
  irb (>= 1.3.1, development)
  rake (>= 0, development)
  simplecov (>= 0, development)
  test-unit (>= 0, development)

Gem pry-0.14.2
  coderay (~> 1.1)
  method_source (~> 1.0)

Gem pry-byebug-3.10.1
  byebug (~> 11.0)
  pry (>= 0.13, < 0.15)

Gem public_suffix-5.0.4

Gem racc-1.7.3

Gem rack-3.0.10
  bundler (>= 0, development)
  minitest (~> 5.0, development)
  minitest-global_expectations (>= 0, development)
  rake (>= 0, development)

Gem rainbow-3.1.1
  bundler (>= 1.3, < 3, development)

Gem rake-13.1.0

Gem rbi-0.0.17
  ast (>= 0)
  parser (>= 3.0.0)
  sorbet-runtime (>= 0.5.9204)
  unparser (>= 0.5.6)

Gem regexp_parser-2.9.0

Gem rexml-3.2.6
  bundler (>= 0, development)
  rake (>= 0, development)
  test-unit (>= 0, development)

Gem rubocop-1.57.2
  json (~> 2.3)
  language_server-protocol (>= 3.17.0)
  parallel (~> 1.10)
  parser (>= 3.2.2.4)
  rainbow (>= 2.2.2, < 4.0)
  regexp_parser (>= 1.8, < 3.0)
  rexml (>= 3.2.5, < 4.0)
  rubocop-ast (>= 1.28.1, < 2.0)
  ruby-progressbar (~> 1.7)
  unicode-display_width (>= 2.4.0, < 3.0)

Gem rubocop-ast-1.31.2
  parser (>= 3.3.0.4)

Gem ruby-progressbar-1.13.0
  fuubar (~> 2.3, development)
  rspec (~> 3.7, development)
  rspectacular (~> 0.70.6, development)
  timecop (~> 0.9, development)

Gem shoulda-context-2.0.0

Gem simplecov-0.21.2
  docile (~> 1.1)
  simplecov-html (~> 0.11)
  simplecov_json_formatter (~> 0.1)

Gem simplecov-html-0.12.3

Gem simplecov_json_formatter-0.1.4

Gem sorbet-0.5.11319
  minitest (~> 5.11, development)
  mocha (~> 1.7, development)
  rake (>= 0, development)
  sorbet-static (= 0.5.11319)

Gem sorbet-runtime-0.5.11319
  concurrent-ruby (~> 1.1.5, development)
  minitest (~> 5.11, development)
  mocha (~> 2.1, development)
  pry (>= 0, development)
  pry-byebug (>= 0, development)
  rake (>= 0, development)
  rubocop (= 1.57.1, development)
  rubocop-performance (= 1.13.2, development)
  subprocess (~> 1.5.3, development)

Gem sorbet-static-0.5.11319-universal-darwin

Gem sorbet-static-and-runtime-0.5.11319
  sorbet (= 0.5.11319)
  sorbet-runtime (= 0.5.11319)

Gem spoom-1.1.16
  bundler (>= 2.2.10, development)
  minitest (~> 5.0, development)
  minitest-reporters (>= 0, development)
  rake (~> 13.0.1, development)
  sorbet (>= 0.5.10187)
  sorbet-runtime (>= 0.5.9204)
  thor (>= 0.19.2)

Gem stripe-11.2.0

Gem sync-0.5.0
  bundler (>= 0, development)
  rake (>= 0, development)
  test-unit (>= 0, development)

Gem tapioca-0.11.2
  bundler (>= 1.17.3)
  netrc (>= 0.11.0)
  parallel (>= 1.21.0)
  rbi (~> 0.0.0, >= 0.0.16)
  sorbet-static-and-runtime (>= 0.5.10187)
  spoom (~> 1.1.0, >= 1.1.11)
  thor (>= 1.2.0)
  yard-sorbet (>= 0)

Gem term-ansicolor-1.8.0
  gem_hadar (~> 1.15.0, development)
  simplecov (>= 0, development)
  test-unit (>= 0, development)
  tins (~> 1.0)
  utils (>= 0, development)

Gem test-unit-3.6.2
  bundler (>= 0, development)
  kramdown (>= 0, development)
  packnga (>= 0, development)
  power_assert (>= 0)
  rake (>= 0, development)
  yard (>= 0, development)

Gem thor-1.3.1
  bundler (>= 1.0, < 3, development)

Gem tins-1.33.0
  all_images (>= 0, development)
  bigdecimal (>= 0)
  debug (>= 0, development)
  gem_hadar (~> 1.15.0, development)
  simplecov (>= 0, development)
  sync (>= 0)
  term-ansicolor (>= 0, development)
  test-unit (~> 3.1, development)
  utils (>= 0, development)

Gem unicode-display_width-2.5.0
  rake (~> 13.0, development)
  rspec (~> 3.4, development)

Gem unparser-0.6.10
  diff-lcs (~> 1.3)
  mutant (~> 0.11.22, development)
  mutant-rspec (~> 0.11.22, development)
  parser (>= 3.2.2.4)
  rspec (~> 3.9, development)
  rspec-core (~> 3.9, development)
  rspec-its (~> 1.3.0, development)
  rubocop (~> 1.7, development)
  rubocop-packaging (~> 0.5, development)

Gem webmock-3.23.0
  addressable (>= 2.8.0)
  async-http (>= 0.48.0, development)
  crack (>= 0.3.2)
  curb (>= 0.7.16, development)
  em-http-request (>= 1.0.2, development)
  em-synchrony (>= 1.0.0, development)
  excon (>= 0.27.5, development)
  hashdiff (>= 0.4.0, < 2.0.0)
  http (>= 0.8.0, development)
  httpclient (>= 2.2.4, development)
  minitest (>= 5.0.0, development)
  mutex_m (>= 0, development)
  patron (>= 0.4.18, development)
  rack (> 1.6, development)
  rdoc (> 3.5.0, development)
  rspec (>= 3.1.0, development)
  rspec-retry (>= 0, development)
  test-unit (>= 3.0.0, development)
  typhoeus (>= 0.5.0, development)
  webrick (>= 0, development)

Gem yard-0.9.36

Gem yard-sorbet-0.8.1
  bundler-audit (~> 0.9.1, development)
  codecov (~> 0.6.0, development)
  rake (~> 13.0, development)
  redcarpet (~> 3.5, development)
  rspec (~> 3.10, development)
  rubocop (~> 1.49.0, development)
  rubocop-performance (~> 1.16.0, development)
  rubocop-rake (~> 0.6.0, development)
  rubocop-rspec (~> 2.19.0, development)
  rubocop-sorbet (~> 0.7.0, development)
  sorbet (~> 0.5.9204, development)
  sorbet-runtime (>= 0.5)
  tapioca (~> 0.11.1, development)
  yard (>= 0.9)

Install failure log:

Installing jaro_winkler 1.5.4 (was 1.5.6) with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    current directory: /Users/prathmesh/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/jaro_winkler-1.5.4/ext/jaro_winkler
/Users/prathmesh/.rbenv/versions/2.7.2/bin/ruby -I /Users/prathmesh/.rbenv/versions/2.7.2/lib/ruby/site_ruby/2.7.0 -r
./siteconf20240426-4172-144yrkq.rb extconf.rb
creating Makefile

current directory: /Users/prathmesh/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/jaro_winkler-1.5.4/ext/jaro_winkler
make "DESTDIR=" clean

current directory: /Users/prathmesh/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/jaro_winkler-1.5.4/ext/jaro_winkler
make "DESTDIR="
compiling adj_matrix.c
compiling codepoints.c
compiling jaro.c
compiling jaro_winkler.c
jaro_winkler.c:19:3: error: incompatible function pointer types passing 'VALUE (size_t, VALUE *, VALUE)' (aka 'unsigned long (unsigned long,
unsigned long *, unsigned long)') to parameter of type 'VALUE (*)(int, union (unnamed union at
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/intern.h:1195:1), VALUE)' (aka 'unsigned long (*)(int, union (unnamed at
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/intern.h:1195:1), unsigned long)') [-Wincompatible-function-pointer-types]
  rb_define_singleton_method(rb_mJaroWinkler, "distance",
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/intern.h:1218:137: note: expanded from macro 'rb_define_singleton_method'
#define rb_define_singleton_method(klass, mid, func, arity)
rb_define_singleton_method_choose_prototypem3((arity),(func))((klass),(mid),(func),(arity));
                                                                                                                                        ^~~~~~
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/intern.h:1195:1: note: passing argument to parameter 'func' here
RB_METHOD_DEFINITION_DECL(rb_define_singleton_method, (2,3), (VALUE klass, const char *name), (klass, name))
^
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/intern.h:1091:77: note: expanded from macro 'RB_METHOD_DEFINITION_DECL'
RB_METHOD_DEFINITION_DECL_1(def,nonnull,def##m2,-2,decl,vars,(VALUE,VALUE)) \
                                                                            ^
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/intern.h:1108:5: note: expanded from macro '\
RB_METHOD_DEFINITION_DECL_M1'
    RB_METHOD_DEFINITION_DECL_C(def,nonnull,defname,decl,vars,(int,union{VALUE*x;const VALUE*y;}__attribute__((__transparent_union__)),VALUE))
    ^
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/intern.h:1042:118: note: expanded from macro 'RB_METHOD_DEFINITION_DECL_C'
    __attribute__((__unused__,__weakref__(#def),__nonnull__ nonnull))static void defname(RB_UNWRAP_MACRO decl,VALUE(*func)funcargs,int arity);
                                                                                                                     ^
jaro_winkler.c:21:3: error: incompatible function pointer types passing 'VALUE (size_t, VALUE *, VALUE)' (aka 'unsigned long (unsigned long,
unsigned long *, unsigned long)') to parameter of type 'VALUE (*)(int, union (unnamed union at
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/intern.h:1195:1), VALUE)' (aka 'unsigned long (*)(int, union (unnamed at
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/intern.h:1195:1), unsigned long)') [-Wincompatible-function-pointer-types]
  rb_define_singleton_method(rb_mJaroWinkler, "jaro_distance", rb_jaro_distance,
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/intern.h:1218:137: note: expanded from macro 'rb_define_singleton_method'
#define rb_define_singleton_method(klass, mid, func, arity)
rb_define_singleton_method_choose_prototypem3((arity),(func))((klass),(mid),(func),(arity));
                                                                                                                                        ^~~~~~
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/intern.h:1195:1: note: passing argument to parameter 'func' here
RB_METHOD_DEFINITION_DECL(rb_define_singleton_method, (2,3), (VALUE klass, const char *name), (klass, name))
^
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/intern.h:1091:77: note: expanded from macro 'RB_METHOD_DEFINITION_DECL'
RB_METHOD_DEFINITION_DECL_1(def,nonnull,def##m2,-2,decl,vars,(VALUE,VALUE)) \
                                                                            ^
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/intern.h:1108:5: note: expanded from macro '\
RB_METHOD_DEFINITION_DECL_M1'
    RB_METHOD_DEFINITION_DECL_C(def,nonnull,defname,decl,vars,(int,union{VALUE*x;const VALUE*y;}__attribute__((__transparent_union__)),VALUE))
    ^
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/intern.h:1042:118: note: expanded from macro 'RB_METHOD_DEFINITION_DECL_C'
    __attribute__((__unused__,__weakref__(#def),__nonnull__ nonnull))static void defname(RB_UNWRAP_MACRO decl,VALUE(*func)funcargs,int arity);
                                                                                                                     ^
jaro_winkler.c:37:45: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts
[-Wcompound-token-split-by-macro]
    VALUE weight = rb_hash_aref(opt, ID2SYM(rb_intern("weight"))),
                                            ^~~~~~~~~~~~~~~~~~~
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:23: note: expanded from macro 'rb_intern'
        __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                      ^
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:414:29: note: expanded from macro 'ID2SYM'
#define ID2SYM(x) RB_ID2SYM(x)
                            ^
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:409:33: note: expanded from macro 'RB_ID2SYM'
#define RB_ID2SYM(x) (rb_id2sym(x))
                                ^
jaro_winkler.c:37:45: note: '{' token is here
    VALUE weight = rb_hash_aref(opt, ID2SYM(rb_intern("weight"))),
                                            ^~~~~~~~~~~~~~~~~~~
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:24: note: expanded from macro 'rb_intern'
        __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1832:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
    {                                                   \
    ^
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:414:29: note: expanded from macro 'ID2SYM'
#define ID2SYM(x) RB_ID2SYM(x)
                            ^
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:409:33: note: expanded from macro 'RB_ID2SYM'
#define RB_ID2SYM(x) (rb_id2sym(x))
                                ^
jaro_winkler.c:37:45: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts
[-Wcompound-token-split-by-macro]
    VALUE weight = rb_hash_aref(opt, ID2SYM(rb_intern("weight"))),
                                            ^~~~~~~~~~~~~~~~~~~
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:24: note: expanded from macro 'rb_intern'
        __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1837:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
    }
    ^
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:414:29: note: expanded from macro 'ID2SYM'
#define ID2SYM(x) RB_ID2SYM(x)
                            ^
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:409:33: note: expanded from macro 'RB_ID2SYM'
#define RB_ID2SYM(x) (rb_id2sym(x))
                                ^
jaro_winkler.c:37:45: note: ')' token is here
    VALUE weight = rb_hash_aref(opt, ID2SYM(rb_intern("weight"))),
                                            ^~~~~~~~~~~~~~~~~~~
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:56: note: expanded from macro 'rb_intern'
        __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                                                       ^
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:414:29: note: expanded from macro 'ID2SYM'
#define ID2SYM(x) RB_ID2SYM(x)
                            ^
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:409:33: note: expanded from macro 'RB_ID2SYM'
#define RB_ID2SYM(x) (rb_id2sym(x))
                                ^
jaro_winkler.c:38:48: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts
[-Wcompound-token-split-by-macro]
          threshold = rb_hash_aref(opt, ID2SYM(rb_intern("threshold"))),
                                               ^~~~~~~~~~~~~~~~~~~~~~
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:23: note: expanded from macro 'rb_intern'
        __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                      ^
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:414:29: note: expanded from macro 'ID2SYM'
#define ID2SYM(x) RB_ID2SYM(x)
                            ^
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:409:33: note: expanded from macro 'RB_ID2SYM'
#define RB_ID2SYM(x) (rb_id2sym(x))
                                ^
jaro_winkler.c:38:48: note: '{' token is here
          threshold = rb_hash_aref(opt, ID2SYM(rb_intern("threshold"))),
                                               ^~~~~~~~~~~~~~~~~~~~~~
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:24: note: expanded from macro 'rb_intern'
        __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1832:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
    {                                                   \
    ^
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:414:29: note: expanded from macro 'ID2SYM'
#define ID2SYM(x) RB_ID2SYM(x)
                            ^
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:409:33: note: expanded from macro 'RB_ID2SYM'
#define RB_ID2SYM(x) (rb_id2sym(x))
                                ^
jaro_winkler.c:38:48: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts
[-Wcompound-token-split-by-macro]
          threshold = rb_hash_aref(opt, ID2SYM(rb_intern("threshold"))),
                                               ^~~~~~~~~~~~~~~~~~~~~~
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:24: note: expanded from macro 'rb_intern'
        __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1837:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
    }
    ^
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:414:29: note: expanded from macro 'ID2SYM'
#define ID2SYM(x) RB_ID2SYM(x)
                            ^
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:409:33: note: expanded from macro 'RB_ID2SYM'
#define RB_ID2SYM(x) (rb_id2sym(x))
                                ^
jaro_winkler.c:38:48: note: ')' token is here
          threshold = rb_hash_aref(opt, ID2SYM(rb_intern("threshold"))),
                                               ^~~~~~~~~~~~~~~~~~~~~~
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:56: note: expanded from macro 'rb_intern'
        __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                                                       ^
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:414:29: note: expanded from macro 'ID2SYM'
#define ID2SYM(x) RB_ID2SYM(x)
                            ^
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:409:33: note: expanded from macro 'RB_ID2SYM'
#define RB_ID2SYM(x) (rb_id2sym(x))
                                ^
jaro_winkler.c:39:50: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts
[-Wcompound-token-split-by-macro]
          ignore_case = rb_hash_aref(opt, ID2SYM(rb_intern("ignore_case"))),
                                                 ^~~~~~~~~~~~~~~~~~~~~~~~
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:23: note: expanded from macro 'rb_intern'
        __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                      ^
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:414:29: note: expanded from macro 'ID2SYM'
#define ID2SYM(x) RB_ID2SYM(x)
                            ^
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:409:33: note: expanded from macro 'RB_ID2SYM'
#define RB_ID2SYM(x) (rb_id2sym(x))
                                ^
jaro_winkler.c:39:50: note: '{' token is here
          ignore_case = rb_hash_aref(opt, ID2SYM(rb_intern("ignore_case"))),
                                                 ^~~~~~~~~~~~~~~~~~~~~~~~
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:24: note: expanded from macro 'rb_intern'
        __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1832:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
    {                                                   \
    ^
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:414:29: note: expanded from macro 'ID2SYM'
#define ID2SYM(x) RB_ID2SYM(x)
                            ^
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:409:33: note: expanded from macro 'RB_ID2SYM'
#define RB_ID2SYM(x) (rb_id2sym(x))
                                ^
jaro_winkler.c:39:50: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts
[-Wcompound-token-split-by-macro]
          ignore_case = rb_hash_aref(opt, ID2SYM(rb_intern("ignore_case"))),
                                                 ^~~~~~~~~~~~~~~~~~~~~~~~
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:24: note: expanded from macro 'rb_intern'
        __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1837:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
    }
    ^
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:414:29: note: expanded from macro 'ID2SYM'
#define ID2SYM(x) RB_ID2SYM(x)
                            ^
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:409:33: note: expanded from macro 'RB_ID2SYM'
#define RB_ID2SYM(x) (rb_id2sym(x))
                                ^
jaro_winkler.c:39:50: note: ')' token is here
          ignore_case = rb_hash_aref(opt, ID2SYM(rb_intern("ignore_case"))),
                                                 ^~~~~~~~~~~~~~~~~~~~~~~~
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:56: note: expanded from macro 'rb_intern'
        __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                                                       ^
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:414:29: note: expanded from macro 'ID2SYM'
#define ID2SYM(x) RB_ID2SYM(x)
                            ^
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:409:33: note: expanded from macro 'RB_ID2SYM'
#define RB_ID2SYM(x) (rb_id2sym(x))
                                ^
jaro_winkler.c:40:48: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts
[-Wcompound-token-split-by-macro]
          adj_table = rb_hash_aref(opt, ID2SYM(rb_intern("adj_table")));
                                               ^~~~~~~~~~~~~~~~~~~~~~
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:23: note: expanded from macro 'rb_intern'
        __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                      ^
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:414:29: note: expanded from macro 'ID2SYM'
#define ID2SYM(x) RB_ID2SYM(x)
                            ^
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:409:33: note: expanded from macro 'RB_ID2SYM'
#define RB_ID2SYM(x) (rb_id2sym(x))
                                ^
jaro_winkler.c:40:48: note: '{' token is here
          adj_table = rb_hash_aref(opt, ID2SYM(rb_intern("adj_table")));
                                               ^~~~~~~~~~~~~~~~~~~~~~
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:24: note: expanded from macro 'rb_intern'
        __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1832:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
    {                                                   \
    ^
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:414:29: note: expanded from macro 'ID2SYM'
#define ID2SYM(x) RB_ID2SYM(x)
                            ^
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:409:33: note: expanded from macro 'RB_ID2SYM'
#define RB_ID2SYM(x) (rb_id2sym(x))
                                ^
jaro_winkler.c:40:48: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts
[-Wcompound-token-split-by-macro]
          adj_table = rb_hash_aref(opt, ID2SYM(rb_intern("adj_table")));
                                               ^~~~~~~~~~~~~~~~~~~~~~
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:24: note: expanded from macro 'rb_intern'
        __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1837:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
    }
    ^
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:414:29: note: expanded from macro 'ID2SYM'
#define ID2SYM(x) RB_ID2SYM(x)
                            ^
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:409:33: note: expanded from macro 'RB_ID2SYM'
#define RB_ID2SYM(x) (rb_id2sym(x))
                                ^
jaro_winkler.c:40:48: note: ')' token is here
          adj_table = rb_hash_aref(opt, ID2SYM(rb_intern("adj_table")));
                                               ^~~~~~~~~~~~~~~~~~~~~~
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:1847:56: note: expanded from macro 'rb_intern'
        __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                                                       ^
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:414:29: note: expanded from macro 'ID2SYM'
#define ID2SYM(x) RB_ID2SYM(x)
                            ^
/Users/prathmesh/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby/ruby.h:409:33: note: expanded from macro 'RB_ID2SYM'
#define RB_ID2SYM(x) (rb_id2sym(x))
                                ^
8 warnings and 2 errors generated.
make: *** [jaro_winkler.o] Error 1

make failed, exit code 2

Gem files will remain installed in /Users/prathmesh/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/jaro_winkler-1.5.4 for inspection.
Results logged to /Users/prathmesh/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/extensions/arm64-darwin-23/2.7.0/jaro_winkler-1.5.4/gem_make.out

An error occurred while installing jaro_winkler (1.5.4), and Bundler cannot continue.
Make sure that `gem install jaro_winkler -v '1.5.4' --source 'https://rubygems.org/'` succeeds before bundling.

cc @richardm-stripe @pakrym-stripe

@prathmesh-stripe prathmesh-stripe changed the title [WIP] Removed jaro_winkler as a dependency Removed jaro_winkler as a dependency Apr 26, 2024
@helenye-stripe
Copy link
Contributor

Updated to note that jaro_winkler 1.5.4 works with Ruby 3.1 and not with 2.7.

@prathmesh-stripe prathmesh-stripe force-pushed the prathmesh_helen_remove_jaro_winkler branch from d26bc12 to 10d90c6 Compare May 6, 2024 17:44
@prathmesh-stripe prathmesh-stripe merged commit 6e4f40f into master May 6, 2024
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants