Bug #21301
closed
Mark ruby SDK 2.7.x as incompatible with Ruby 3
Added by Peter Amstutz 11 months ago.
Updated 10 months ago.
Release relationship:
Auto
Description
2023-12-14_19:21:23.47302 Error: uninitialized constant Random::DEFAULT
2023-12-14_19:21:23.47304 /var/lib/arvados-arvbox/.gem/gems/arvados-2.7.1/lib/arvados.rb:24:in `execute'
2023-12-14_19:21:23.47305 /var/lib/arvados-arvbox/.gem/gems/arvados-2.7.1/lib/arvados.rb:231:in `api_exec'
2023-12-14_19:21:23.47305 /var/lib/arvados-arvbox/.gem/gems/arvados-2.7.1/lib/arvados.rb:100:in `block (4 levels) in initialize'
2023-12-14_19:21:23.47305 /usr/src/arvados/services/login-sync/bin/arvados-login-sync:88:in `<top (required)>'
2023-12-14_19:21:23.47306 /usr/src/arvados/services/login-sync/binstubs/arvados-login-sync:27:in `load'
2023-12-14_19:21:23.47306 /usr/src/arvados/services/login-sync/binstubs/arvados-login-sync:27:in `<main>'
This issue comes about because 2.7 is not compatible with Ruby 3. We should update the 2.7 SDK so that it will refuse to run on Ruby 3.
- Description updated (diff)
- Subject changed from Error: uninitialized constant Random::DEFAULT
in Ruby SDK to Error: uninitialized constant Random::DEFAULTin Ruby SDK
- Subject changed from Error: uninitialized constant Random::DEFAULTin Ruby SDK to Error: uninitialized constant Random::DEFAULT in Ruby SDK
Ruby 2.7.0 the require 'random'
doesn't work ???
run-tests-sdk-python-ruby: #3423
Trying to run this locally in arvbox:
======= install env
Traceback (most recent call last):
File "/var/lib/arvados-arvbox/test/VENV3DIR/bin/pip3", line 6, in <module>
from pip._internal.cli.main import main
ModuleNotFoundError: No module named 'pip'
Traceback (most recent call last):
File "/usr/src/arvados/sdk/python/setup.py", line 12, in <module>
from setuptools import setup, find_packages
ModuleNotFoundError: No module named 'setuptools'
Leaving behind temp dirs in /var/lib/arvados-arvbox/test
Fatal: installing Python SDK and related dependencies failed (encountered in install_env at /usr/src/arvados/build/run-tests.sh line 645)
- Description updated (diff)
- Assigned To set to Tom Clegg
- Subject changed from Error: uninitialized constant Random::DEFAULT in Ruby SDK to Mark ruby SDK 2.7.x as incompatible with Ruby 3
21301-ruby3-incompat @ d5960563ba1aef727c64a0dff04da1adfed454c3 -- developer-run-tests: #3981
Also cherry-picked ae4cf50d72adebc6df338ef54ec5f2755ad73b8f to avoid deadlock in services/fuse tests.
Is 2.7-release the right branch to merge this to?
The syntax might look suspicious, but it is documented and it does work:
Fetching gem metadata from https://rubygems.org/......
Resolving dependencies...
Could not find compatible versions
Because every version of arvados depends on Ruby >= 1.8.7, < 3
and Gemfile depends on arvados >= 0,
Ruby >= 1.8.7, < 3 is required.
So, because current Ruby version is = 3.2.2,
version solving has failed.
- Status changed from New to In Progress
Tom Clegg wrote in #note-7:
Is 2.7-release the right branch to merge this to?
I'm not sure whether it's -release or -staging, I think that's a Peter question. But whichever one is right, and not main, this is good to merge, thanks.
Brett Smith wrote in #note-9:
Tom Clegg wrote in #note-7:
Is 2.7-release the right branch to merge this to?
I'm not sure whether it's -release or -staging, I think that's a Peter question. But whichever one is right, and not main, this is good to merge, thanks.
It should go to -staging
- Status changed from In Progress to Resolved
Also available in: Atom
PDF