Hey I recently investigated a broken CI pipeline of a project using renv.
The issue seems to stem from the package lamW
changing between P3M snapshots (although the version number did not change and there were no commits to the project in months).
The obvious solution is to use snapshots instead of a link to latest.
I'm still wondering how this issue is possible. What can change between snapshots and why?
I documented a minimal reproduction of the problem here: renv reproducibility issue ยท GitHub. Installing lamW
version 5.1.9
in an empty project works when using the snapshot from January 23, but fails for a later snapshot because it cannot properly link to RcppParallel
:
Error in dyn.load(file, DLLpath = DLLpath, ...) :
unable to load shared object '/usr/local/lib/R/site-library/.renv/1/lamW/libs/lamW.so':
/usr/local/lib/R/site-library/.renv/1/lamW/libs/lamW.so: undefined symbol: _ZN12RcppParallel14tbbParallelForEmmRNS_6WorkerEmi
Calls: loadNamespace -> library.dynam -> dyn.load
Execution halted