Hi everyone, I'm now developing a package, which needs to call other released software. The software include executable files with configuration files for Win/Linux/Mac. There is no need to install or compiling the software. I know it is possible to call the software executable files by invoking a system command using the function 'system()', but how can I build up a package with these executable files? What directory should I put the software files? Does anyone have experience or solutions? Thank you so much! Best regards, Haixiao haixiao990 at aliyun.com
[R-pkg-devel] Questions for writing a package
4 messages · haixiao990 at aliyun.com, Dirk Eddelbuettel, Marc Schwartz
On 11 June 2015 at 14:10, haixiao990 at aliyun.com wrote:
| I'm now developing a package, which needs to call other released software. | The software include executable files with configuration files for Win/Linux/Mac. There is no need to install or compiling the software. | I know it is possible to call the software executable files by invoking a system command using the function 'system()', | but how can I build up a package with these executable files? What directory should I put the software files? | Does anyone have experience or solutions? Please see http://cran.r-project.org/doc/manuals/r-release/R-exts.html#Non_002dR-scripts-in-packages as well as help(system.file) in R to locate such files. As far as I know CRAN will probably reject a package containing binaries. Dirk
http://dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org
On Jun 11, 2015, at 7:02 AM, Dirk Eddelbuettel <edd at debian.org> wrote: On 11 June 2015 at 14:10, haixiao990 at aliyun.com wrote: | I'm now developing a package, which needs to call other released software. | The software include executable files with configuration files for Win/Linux/Mac. There is no need to install or compiling the software. | I know it is possible to call the software executable files by invoking a system command using the function 'system()', | but how can I build up a package with these executable files? What directory should I put the software files? | Does anyone have experience or solutions? Please see http://cran.r-project.org/doc/manuals/r-release/R-exts.html#Non_002dR-scripts-in-packages as well as help(system.file) in R to locate such files. As far as I know CRAN will probably reject a package containing binaries.
That is correct, as per: http://cran.r-project.org/doc/manuals/r-release/R-exts.html#Package-structure "A source package if possible should not contain binary executable files: they are not portable, and a security risk if they are of the appropriate architecture. R CMD check will warn about them4 unless they are listed (one filepath per line) in a file BinaryFiles at the top level of the package. Note that CRAN will not accept submissions containing binary files even if they are listed.? Note the last sentence. Regards, Marc Schwartz
Dirk
Thank you so much! What if I call a matlab function instead? Will CRAN accept such package? And I used 'RcppOctave' package to call matlab functions. However, 'RcppOctave' is not available on Windows. 'R.matlab' would be a substitute, but it seems clumsy using 'setFunction' as the function has 2000 lines... Do you have any good ideas? Regards, Haixiao haixiao990 at aliyun.com From: Marc Schwartz Date: 2015-06-11 20:19 To: Dirk Eddelbuettel CC: haixiao990 at aliyun.com; r-package-devel Subject: Re: [R-pkg-devel] Questions for writing a package
On Jun 11, 2015, at 7:02 AM, Dirk Eddelbuettel <edd at debian.org> wrote: On 11 June 2015 at 14:10, haixiao990 at aliyun.com wrote: | I'm now developing a package, which needs to call other released software. | The software include executable files with configuration files for Win/Linux/Mac. There is no need to install or compiling the software. | I know it is possible to call the software executable files by invoking a system command using the function 'system()', | but how can I build up a package with these executable files? What directory should I put the software files? | Does anyone have experience or solutions? Please see http://cran.r-project.org/doc/manuals/r-release/R-exts.html#Non_002dR-scripts-in-packages as well as help(system.file) in R to locate such files. As far as I know CRAN will probably reject a package containing binaries.
That is correct, as per: http://cran.r-project.org/doc/manuals/r-release/R-exts.html#Package-structure "A source package if possible should not contain binary executable files: they are not portable, and a security risk if they are of the appropriate architecture. R CMD check will warn about them4 unless they are listed (one filepath per line) in a file BinaryFiles at the top level of the package. Note that CRAN will not accept submissions containing binary files even if they are listed.? Note the last sentence. Regards, Marc Schwartz
Dirk