R-CMD-check: vignette building fails on ubuntu >= 18-04

I am currently setting up Github actions via usethis and everything works on Windows and macOS and Ubuntu-16.04 but and I am running into problems und ubuntu >= 18.04. rcmdcheck fails when trying to build the vignettes of the package with this error:

unable to load shared object '/home/runner/work/_temp/Library/stringi/libs/stringi.so': libicui18n.so.55: cannot open shared object file: No such file or directory

Which sounds to me like stringi was not correctly installed from source? But I have no idea how to check/fix this as this is my first time working with github actions.

I used usethis::use_github_action("check-standard")

Thanks for any pointers!

1 Like

Was about to raise a similar issue.

I'm also getting the same error, though in my case on Ubuntu 20.04 release.

unable to load shared object '/home/runner/work/_temp/Library/stringi/libs/stringi.so

Consequently my vignettes cannot build.

Mac / Windows release and Ubuntu 20.04 Devel all succeed.

Would be great to know what, if anything, can be done to resolve

1 Like

For me it fails on 18.04 AND 20.04 but is fine on 16.04, i will test it with ubuntu devel on 18/20.04

Nope, devel 18/20.04 does not work either, same error.

1 Like

I've just commented out the release version on my workflow yaml for now.
It's passed on the remaining 3 platforms

Last week, one of my other packages was failing because the architecture for testing on Mac OS devel was broken, and I noticed re-running

usethis::use_github_action("check-standard")

switched this over to the Ubuntu 20.04 development version.

(That package doesn't have a vignette yet, so it passes all tests on all platforms).

Hope someone can throw some light on this though :slight_smile:

I dont understand why but my reply with the solution to the topic (increase cache version number to force reinstall of newly compiled stringi) needs mod approval... maybe it's the links I included, so no links in this reply.

I have solved the issue, apparently Stringi needed to be recompiled with the new ICU4C (libcui18n.so) to fix the error (see here).

I assume due to the Package Caching and old version of stringi was used causing the error.
As mentioned here I bumped the cache version to force a reinstall from rspm and this fixed it!

2 Likes

@assignUser
Thanks! Really good job finding this solution.
For anyone else, the yaml below was modified to replace the initial value of 1 with a value of 2.
Ubuntu release now working.

- name: Cache R packages
        if: runner.os != 'Windows'
        uses: actions/cache@v1
        with:
          path: ${{ env.R_LIBS_USER }}
          key: ${{ runner.os }}-${{ hashFiles('.github/R-version') }}-2-${{ hashFiles('.github/depends.Rds') }}
          restore-keys: ${{ runner.os }}-${{ hashFiles('.github/R-version') }}-2-

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.