[ubuntu 18.04] bundler 1.16.1 incompatible with latest arvados-api-server and arvados-workbench packages
This only applies when NOT using rvm.
The system ruby-bundler package for Ubuntu 18.04 is version 1.16.1, and it is apparently incompatible with our latest arvados-api-server and arvados-workbench packages.
E.g. when upgrading arvados-api-server on a system with ruby-bundler 1.16.1 installed:
# dpkg -l |grep bundl ii bundler 1.16.1-1 all Manage Ruby application dependencies ii ruby-bundler 1.16.1-1 all Manage Ruby application dependencies (runtime) # gem list |grep bundler bundler (2.2.19, 1.17.3, 1.16.1) # apt install arvados-workbench --reinstall Reading package lists... Done Building dependency tree Reading state information... Done 0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 0 not upgraded. Need to get 35.3 MB of archives. After this operation, 0 B of additional disk space will be used. Get:1 http://apt.arvados.org/bionic bionic-dev/main amd64 arvados-workbench amd64 2.3.0~dev20210902200728-1 [35.3 MB] Fetched 35.3 MB in 2s (18.0 MB/s) (Reading database ... 168841 files and directories currently installed.) Preparing to unpack .../arvados-workbench_2.3.0~dev20210902200728-1_amd64.deb ... Unpacking arvados-workbench (2.3.0~dev20210902200728-1) over (2.3.0~dev20210902200728-1) ... Setting up arvados-workbench (2.3.0~dev20210902200728-1) ... Assumption: nginx is configured to serve Rails from /var/www/arvados-workbench/current Assumption: nginx and passenger run as www-data Creating symlinks to configuration in /etc/arvados/workbench ...... done. Running bundle config set --local path /var/www/arvados-workbench/shared/vendor_bundle... done. Running bundle install... done. Ensuring directory and file permissions ...... done. Checking configuration for completeness...You must use Bundler 2 or greater with this lockfile. failed. PLEASE NOTE: The arvados-workbench package was not configured completely because /etc/arvados/config.yml needs some tweaking. Please refer to the documentation at <http://doc.arvados.org/install/install-workbench-app.html#configure> for more details. When config.yml has been modified, reconfigure or reinstall this package.
Or on a clean system, with ruby-bundler preinstalled:
# dpkg -l |grep bundler ii ruby-bundler 1.16.1-1 all Manage Ruby application dependencies (runtime) # gem list|grep bund bundler (1.16.1) # apt install arvados-api-server Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: ... Setting up arvados-api-server (2.3.0~dev20210902200728-1) ... WARNING: Web service (Nginx or Apache) not found. To override, set the WEB_SERVICE environment variable to the name of the service hosting the Rails server. For Debian-based systems, then reconfigure this package with dpkg-reconfigure. For RPM-based systems, then reinstall this package. Assumption: is configured to serve Rails from /var/www/arvados-api/current Assumption: and passenger run as www-data Creating symlinks to configuration in /etc/arvados/api ...... done. Running bundle config set --local path /var/www/arvados-api/shared/vendor_bundle...Traceback (most recent call last): 2: from bin/bundle:8:in `<main>' 1: from /usr/lib/ruby/2.5.0/rubygems.rb:263:in `bin_path' /usr/lib/ruby/2.5.0/rubygems.rb:289:in `find_spec_for_exe': Could not find 'bundler' (2.2.19) required by your /var/www/arvados-api/current/Gemfile.lock. (Gem::GemNotFoundException) To update to the lastest version installed on your system, run `bundle update --bundler`. To install the missing version, run `gem install bundler:2.2.19` failed. dpkg: error processing package arvados-api-server (--configure): installed arvados-api-server package post-installation script subprocess returned error exit status 1 Processing triggers for libc-bin (2.27-3ubuntu1) ... Errors were encountered while processing: arvados-api-server E: Sub-process /usr/bin/dpkg returned an error code (1)
Interestingly, this is not a problem on Debian 10, which ships with ruby-bundler 1.17.3.
Presumably we could just add a conflict with ruby-bundler on our arvados-api-server and arvados-workbench packages for Ubuntu 18.04, as a workaround for this problem.
Updated by Ward Vandewege over 1 year ago
Lucas Di Pentima wrote:
Just one question: do you think it's convenient to warn the admins about this new requirement on the upgrading notes?
That's a good point, thanks. I have added a note in 55a5bf1f38d28e7f3dfe8190524b967901e30d44, does that look ok?