conda-forge / r-stringi-feedstock

A conda-smithy repository for r-stringi.
BSD 3-Clause "New" or "Revised" License
0 stars 9 forks source link

ICU version mismatch #4

Closed vinjana closed 6 years ago

vinjana commented 6 years ago

I have the following packages installed:

r-base=3.4.1=0
r-stringr=1.2.0=r3.4.1_0
icu=54.1

There are many more packages, but the important point is that some of them apparently depend on ICU 54, not 58. Then when I do load the stringi library in R I get:

> library(stringi)
Error: package or namespace load failed for 'stringi' in dyn.load(file, DLLpath = DLLpath, ...):
 unable to load shared object '/data/kensche/work/share/miniconda3/envs/test/lib/R/library/stringi/libs/stringi.so':
  libicui18n.so.58: cannot open shared object file: No such file or directory

I'd be grateful for your help!

mariusvniekerk commented 6 years ago

Make a pull request thanks

jdblischak commented 6 years ago

@vinjana Yes, you are correct. ICU should be a runtime dependency of r-stringi because it is listed as a system requirement of the package.

Please submit a PR with ICU 54 as a runtime dependency:

  - icu 54.*  # [not win]

Make sure to bump the build number from 0 to 1.

The reason to skip ICU on Windows is that ICU 54 was not built for Windows:

https://anaconda.org/anaconda/icu/files?version=54.1

Also, conda-forge has moved to pinning ICU to 58.*, so after we create a ICU 54 version, we should update the recipe to use ICU 58 (and also remove the [not win] since ICU 58 was built for Windows).

https://anaconda.org/conda-forge/icu/files?version=58.2 https://github.com/conda-forge/conda-forge-pinning-feedstock/blob/e206a9ea6d1d9a06deae0d3cac73b8768629f32f/recipe/conda_build_config.yaml#L96

What are the conda-forge packages you are using that are still pinned to ICU 54? These also need to be updated.