krlmlr/r-appveyor

mix up in the package installation order in the presence of source packages

IndrajeetPatil opened this issue · 3 comments

My package depends on both tibble and sjstats, both of which had a new release on CRAN. So once I bumped up versions for these dependencies, my Appveyor builds rely on source versions of these packages.

image

But the builds are failing with the following error-

* installing *source* package 'sjstats' ...
** package 'sjstats' successfully unpacked and MD5 sums checked
** R
** data
** inst
** byte-compile and prepare package for lazy loading
Error in loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]]) : 
  there is no package called 'tibble'
ERROR: lazy loading failed for package 'sjstats'
* removing 'c:/RLibrary/sjstats'
In R CMD INSTALL
Error in i.p(...) : 
  (converted from warning) installation of package 'sjstats' had non-zero exit status
Calls: <Anonymous> ... with_rprofile_user -> with_envvar -> force -> force -> i.p
Execution halted
Command exited with code 1

Does this have something to do with the order in which source versions of packages are being downloaded? sjstats is attempted to download before tibble and since sjstats relies on tibble, it fails?

If that's the case, is this a bug? Should Appveyor figure out the dependency structure within the source versions of packages?

Thanks. This problem should be gone as soon as the binary versions of tibble 2.0.0 are on CRAN, any moment now.

@gaborcsardi: remotes::install_deps() seems to mix up the package installation order in the presence of source packages on Windows. Any idea?

https://ci.appveyor.com/project/IndrajeetPatil/ggstatsplot/builds/21453200#L2077

Please report an issue. Thanks.

Here is another example of this-
https://ci.appveyor.com/project/IndrajeetPatil/ggstatsplot/build/job/v33rv5dn3ti97aly

Source versions:

image

But since afex needs haven upstream, it fails since haven hasn't been installed yet-

image