Ideas
ankane opened this issue · comments
Andrew Kane commented
Please create a new issue to discuss any ideas or share your own.
Explored, but on-hold
- More ways to install (Chocolatey or Scoop for Windows, Homebrew for Mac, packager.io for Linux)
- Add option to require all dependencies without
library
calls -jetpack.require()
(could be slow, requires Jetpack as runtime dependency) - Automatic dependency resolution (this could be a huge undertaking - maybe use something like https://github.com/r-lib/pkgdepends or https://github.com/CocoaPods/Molinillo)
- Remove
desc
to reduce dependencies down to 4 - No dependencies (vendor all code)
- Add ability to vendor packages in project -
vendor_src
branch - Shortcut for specifying GitHub remotes
- Add ability to specify CRAN repo in DESCRIPTION or remote
Susana Quartin commented
One issue packrat hasn't solved is system dependencies (when installing older package versions from source). Any ideas to tackle that issue in jetpack?
Andrew Kane commented
Hey @quartin, I'm not familiar with that issue. Can you explain more, and give steps to reproduce if you have them?
Susana Quartin commented
Hey, I'm sorry for the huge delay. These sort of problems:
> packrat::restore()
Installing Rcpp (0.12.13) ...
[1] "Command failed (1)\n\nFailed to run system command:\n\n\t'/Library/Frameworks/R.framework/Resources/bin/R' --vanilla CMD INSTALL '/private/var/folders/r3/5pj1gsqn6934q_jfdt3dy5540000gp/T/RtmpK2hGgy/Rcpp' --library='/xxxx/src/R/packrat/lib/x86_64-apple-darwin15.6.0/3.5.1' --install-tests --no-docs --no-multiarch --no-demo \n\nThe command failed with output:\n* installing *source* package 'Rcpp' ...\n
** package 'Rcpp' successfully unpacked and MD5 sums checked\n
** libs\nclang++ -I\"/Library/Frameworks/R.framework/Resources/include\" -DNDEBUG -I../inst/include/ -I/usr/local/include -fPIC -Wall -g -O2 -c Date.cpp -o Date.o\nIn file included from Date.cpp:31:\nIn file included from ../inst/include/Rcpp.h:77:\n../inst/include/Rcpp/Rmath.h:222:55: error: no member named 'Rf_pythag' in the global namespace; did you mean 'pythag'?\n inline double pythag(double a, double b) { return ::Rf_pythag(a, b); }\n ^~~~~~~~~~~\n pythag\n../inst/include/Rcpp/Rmath.h:222:19: note: 'pythag' declared here\n inline double pythag(double a, double b) { return ::Rf_pythag(a, b); }\n ^\n1 error generated.\nmake: *** [Date.o] Error 1\nERROR: compilation failed for package 'Rcpp'\n* removing '/xxxx/src/R/packrat/lib/x86_64-apple-darwin15.6.0/3.5.1/Rcpp'"
Error: Command failed (1)
Failed to run system command:
'/Library/Frameworks/R.framework/Resources/bin/R' --vanilla CMD INSTALL '/private/var/folders/r3/5pj1gsqn6934q_jfdt3dy5540000gp/T/RtmpK2hGgy/Rcpp' --library='/xxxx/src/R/packrat/lib/x86_64-apple-darwin15.6.0/3.5.1' --install-tests --no-docs --no-multiarch --no-demo
The command failed with output:
* installing *source* package 'Rcpp' ...
** package 'Rcpp' successfully unpacked and MD5 sums checked
** libs
clang++ -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I../inst/include/ -I/usr/local/include -fPIC -Wall -g -O2 -c Date.cpp -o Date.o
In file included from Date.cpp:31:
In file included from ../inst/include/Rcpp.h:77:
../inst/include/Rcpp/Rmath.h:222:55: error: no member named 'Rf_pythag' in the global namespace; did you mean 'pythag'?
inline double pythag(double a, double b) { return ::Rf_pythag(a, b); }
session info
> sessionInfo()
R version 3.5.1 (2018-07-02)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS High Sierra 10.13.6
Matrix products: default
BLAS: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRlapack.dylib
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] compiler_3.5.1 backports_1.1.2 magrittr_1.5 rprojroot_1.3-2 htmltools_0.3.6 tools_3.5.1 yaml_2.2.0 Rcpp_1.0.0 stringi_1.2.4 rmarkdown_1.10 knitr_1.20 stringr_1.3.1 digest_0.6.18 packrat_0.4.8-1
[15] evaluate_0.10.1
clang
▶ clang -v
Apple LLVM version 9.0.0 (clang-900.0.39.2)
Target: x86_64-apple-darwin17.7.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
Andrew Kane commented
Hi @quartin, I've never encountered that error, but I'm not sure there's much Jetpack can do since it relies on Packrat (unless there's a known workaround for it).