Kengo Seki created AVRO-3203: -------------------------------- Summary: Fix the Ruby distribution build to work Key: AVRO-3203 URL: https://issues.apache.org/jira/browse/AVRO-3203 Project: Apache Avro Issue Type: Bug Components: build, ruby Reporter: Kengo Seki Assignee: Kengo Seki
Currently, building the Ruby distribution in the Docker container fails as follows. {code:java} $ ./build.sh docker $ cd lang/ruby $ ./build.sh clean dist ... rake aborted! ArgumentError: wrong number of arguments (given 2, expected 0) /home/sekikn/avro/lang/ruby/.gem/gems/echoe-4.6.6/lib/echoe/rubygems.rb:10:in `validate' /home/sekikn/avro/lang/ruby/.gem/gems/rake-13.0.6/exe/rake:27:in `<top (required)>' Tasks: TOP => dist => gem => pkg/avro-1.11.0.pre1.gem (See full trace by running task with --trace) {code} This is because Ruby 2.7 is used in the Docker container and its rubygems library version is 3.1.2. [rubygems have changed the semantics of its validate function from v3.x|https://github.com/rubygems/rubygems/commit/3966078e62c6b048cd8d2435b9399a9688c6f8f1#diff-8f51ef27aa7c1bf289ef010df42fb4a5f0635d0149776e57bc86985c98bc6480L262-R264], and echoe doesn't seem to be compatible with that change. We should replace echoe with something simliar since it has not been maintained for several years, but it looks a bit tough to me, so I propose an easy workaround that building gem with the {{gem build}} command directly instead of via bundler, and using echoe only to generate avro.gemspec. -- This message was sent by Atlassian Jira (v8.3.4#803005)