rstudio / r-builds

an opinionated environment for compiling R
GNU General Public License v3.0
99 stars 19 forks source link

Broken R installation on SLES 15.6 because of ICU version mismatch #232

Closed christierney closed 1 month ago

christierney commented 1 month ago

Attempting to install an opensuse 15.5 R package on SLES 15.6 fails due to a missing icu.691:

Problem: 1: nothing provides 'icu.691-devel' needed by the to be installed R-4.4.1-1-1.x86_64

691 is not available in SP6:

> zypper se libicu
S  | Name              | Summary                               | Type
---+-------------------+---------------------------------------+--------
i+ | libicu-devel      | Development files for the ICU library | package
i  | libicu-suse65_1   | International Components for Unicode  | package
   | libicu60_2        | International Components for Unicode  | package
   | libicu60_2-ledata | Rule databases and tables for ICU     | package
i  | libicu65_1-ledata | Rule databases and tables for ICU     | package
   | libicu73_2        | International Components for Unicode  | package
   | libicu73_2-bedata | Rule databases and tables for ICU     | package
   | libicu73_2-devel  | Development files for the ICU library | package
   | libicu73_2-doc    | Documentation for the ICU library     | package
   | libicu73_2-ledata | Rule databases and tables for ICU     | package

We previously switched from relying on libicu-devel to targeting a specific version; see #104

christierney commented 1 month ago

As of today, testing on both SLES 15 SP5 and SP6 EC2 instances, the unversioned package has gone back to pointing to 65:

~> zypper if libicu-devel
...
Information for package libicu-devel:
-------------------------------------
Repository     : SLE-Module-Basesystem15-SP5-Updates
Name           : libicu-devel
Version        : 65.1-150200.4.10.1

~> zypper if libicu-devel
...
Information for package libicu-devel:
-------------------------------------
Repository     : SLE-Module-Basesystem15-SP6-Pool
Name           : libicu-devel
Version        : 65.1-150200.4.10.1
christierney commented 1 month ago

Both SPs currently provide libicu73_2-devel:

~> zypper se /.*icu.*devel/
...
S | Name             | Summary                               | Type
--+------------------+---------------------------------------+--------
  | icu.691-devel    | Development files for the ICU library | package
  | libicu-devel     | Development files for the ICU library | package
  | libicu73_2-devel | Development files for the ICU library | package
~> zypper se /.*icu.*devel/
...
S  | Name             | Summary                               | Type
---+------------------+---------------------------------------+--------
i+ | libicu-devel     | Development files for the ICU library | package
   | libicu73_2-devel | Development files for the ICU library | package
christierney commented 1 month ago

(from @glin )

Tested installing an old R RPM with libicu-devel and confirmed it selects ICU 73 devel instead:

$ curl -O https://cdn.rstudio.com/r/opensuse-152/pkgs/R-4.0.5-1-1.x86_64.rpm

$ rpm -qpR R-4.0.5-1-1.x86_64.rpm | grep icu
libicu-devel

$ zypper install R-4.0.5-1-1.x86_64.rpm

The following 156 NEW packages are going to be installed:
  ...
  libicu73_2 libicu73_2-devel libicu73_2-ledata
  ...