R + icu4c on linux

While working on a different formula that depends on R I’ve run into a small issue with bottled dependencies causing failures.

What I think is going on is that icu4c formula was updated to 67.1 2 days ago and had bottles built then, but the r formula was updated 3 days ago when icu4c was version 66 and so the bottles were built it used the 66 version.

When I try to install r as a dependency, it installs the bottle from https://linuxbrew.bintray.com/bottles/r-4.0.0_1.x86_64_linux.bottle.1.tar.gz which installs just fine, but running any r commend results in:

/home/linuxbrew/.linuxbrew/Cellar/r/4.0.0_1/lib/R/bin/exec/R: error while loading shared libraries: libicuuc.so.66: cannot open shared object file: No such file or directory

If I build r from source, everything is fine (because when building r it uses the 67 versions of the icu4c libraries), but the bottle was built against 66 and so is looking for the 66 versions. I’ve been able to reproduce this locally and on GH actions for my other project (https://github.com/jonkeane/homebrew-base/runs/726076261?check_suite_focus=true#step:4:209)

Is there some way to trigger a re-build of the r bottle so that it references icu4c 67? Presumably a PR with a revision bump on r would do the trick, but if there’s another way I’m happy to do the leg work to make that happen. Thank you!

Yep, just open a pull request to Homebrew/linuxbrew-core to make that change. It’s not uncommon to need to do a Linux-only revision bump. See these two pull requests for how it should look: