libxml2 failing to compile on Ubuntu 16.04 R 3.5.3 on github actions

Hi all, a bit out of my depth on some github actions / ubuntu / libxml2 stuff and looking for some help!

I have a workflow that is failing on Ubuntu 16.04 with R 3.5.3 due to xml2 not being able to compile (starting at https://github.com/Sage-Bionetworks/magora/runs/1981407928?check_suite_focus=true#step:9:2669 and ending at https://github.com/Sage-Bionetworks/magora/runs/1981407928?check_suite_focus=true#step:9:3256), but it works just fine on Ubuntu 16.04 with R devel: https://github.com/Sage-Bionetworks/magora/runs/1981407894?check_suite_focus=true#step:9:2933

The last passing build for this was in December: https://github.com/Sage-Bionetworks/magora/runs/1488099857?check_suite_focus=true#step:9:2557, but I haven't changed anything in the workflow, or even the version of xml2 (1.3.2) required since then (tracked in the lock file via renv).

From poking around on similar errors, seems like this might be related to C++11 (https://github.com/r-lib/xml2/issues/294 and https://github.com/r-lib/xml2/issues/231) but really out of my depth when we start talking about that, especially how to provide a version of the compiler in github actions.

Appreciate any pointers or guidance!

It likely works with the release version of R because C++11 is now used as the default version of the C++ compiler on newer versions of R. On older versions you have to opt-into this support. The xml2 package itself doesn't require C++11, but some newer versions of the libxml2 headers do require it, which may be why you are running into problems.

You might want to update to use a newer workflow file. Your workflow is still querying using the system dependencies from R-hub, newer versions of remotes instead query the RStudio Package Manager for system dependencies. It could be that there is an issue there that is causing the problem.

If you run usethis::use_github_actions() it will overwrite your old workflow, then you can look at the git diffs and transfer over your changes to the new workflow.

Thanks @jimhester! I should know by now that the first step is to update things... definitely was using quite an old workflow file.

Unfortunately, things still fail on 16.04: https://github.com/Sage-Bionetworks/magora/runs/1982835217?check_suite_focus=true#step:9:408

But since the templates check on 18.04 instead of 16.04, I figured probably should just use that instead... and things are all clear now: https://github.com/Sage-Bionetworks/magora/pull/40/checks?check_run_id=1982904444

Just for my own understanding, you think the reason it used to pass, and then stopped, is because a newer version of libxml2 was released that required C++11, which was not opted into by R 3.5.3?

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

If you have a query related to it or one of the replies, start a new topic and refer back with a link.