[Rcpp-devel] Specify include path with Rcpp.plugin.maker
Dirk Eddelbuettel
edd at debian.org
Wed Jul 18 17:56:20 CEST 2012
On 18 July 2012 at 17:13, Vaclav Petras wrote:
| Hello,
|
| how should be an include path for a plugin created by
| Rcpp:::Rcpp.plugin.maker specified?
|
| I'm using a library which is not in the standard path. I'm able to
| specify -Wl,-rpath and -L options but I don't know where -I should be
| specified.
|
| As an example I used the GSL example from Rcpp-FAQ. GSL headers are in
| standard path so everything works. But if I modify this example to use
| gsl_rng.h instead of gsl/gsl_rng.h it is necessary to set
Why? Every GSL example uses
#include <gsl/somefile.h>
and it is standard to specify it with directory/filename. Many libraries (eg
Boost) do the same.
| -I/usr/include/gsl somewhere. Only thing which worked for me is:
|
| Sys.setenv(PKG_CXXFLAGS="-I/usr/include/gsl/")
|
| export CXXFLAGS or PKG_CXXFLAGS in command line (and than running
| Rscript) or using Makefile="-I/usr/include/gsl/" (plugin.maker param)
| didn't helped. I also tried
| myplugin$env$PKG_CXXFLAGS <- "-I/usr/include/gsl/"
| but I got some R errors.
|
| My platform is GNU/Linux, dist. Ubuntu 10.04.
Many of us develop on that platform. "It just works."
| Now I'm trying compile simple function only but in the future I want
| to build some R package too, so I'm asking if there can be problem
| with this also in this case (I didn't studied documentation for
| building packages yet).
|
| I think that some parameter is missing in the interface
| (Rcpp.plugin.maker) or that the documentation is not complete (or I'm
| just missing something of course).
Yes, I think you just confused yourself.
For _truly new libraries_ and non-standard locations, you may have to use a
combination of autoconf / configure to specify what goes into the plugin
maker. But for something as common as the GSL, this not an issue.
If I misunderstood your question and you are wondering how to generally
modify the plugin components: you probably want to look at the code in the
inline package, as well as for the R commands. As I recall, every variable
set in the plugin environment gets passed on before system() is called. So
you could try PKG_CFLAGS etc as documented for R CMD INSTALL et al.
Dirk
|
| Thanks for help,
| Vaclav
| _______________________________________________
| Rcpp-devel mailing list
| Rcpp-devel at lists.r-forge.r-project.org
| https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel
--
Dirk Eddelbuettel | edd at debian.org | http://dirk.eddelbuettel.com
More information about the Rcpp-devel
mailing list