[Rcpp-devel] RInside under Windows
Patrick Burns
patrick at burns-stat.com
Tue Feb 14 22:13:38 CET 2012
Dale,
Thanks, but running as administrator doesn't
seem to be the answer.
There was hope in that it first asked if I
really wanted to do that before it gave the
missing R.dll message.
Pat
On 14/02/2012 20:55, Smith, Dale wrote:
> My experience is that any odd error you get with Windows 7 is definitely
> related to security.
>
> Right-click the exe in Explorer and select Run as Administrator. Try to
> start a Cygwin terminal as Administrator to do command line work
> (assuming you are using Cygwin).
>
> I have no choice but to run RStudio and R via Run as Administrator; they
> just won't work otherwise. I set up shortcuts to do this and pinned them
> to my toolbar. Ditto with Visual Studio.
>
> Thanks,
> Dale Smith, Ph.D.
> Senior Financial Quantitative Analyst
> Risk& Compliance
> Fiserv.
> 107 Technology Park
> Norcross, GA 30092
> Office: 678-375-5315
> Mobile: 678-982-6599
> Mail: dale.smith at fiserv.com
> www.fiserv.com
>
> -----Original Message-----
> From: rcpp-devel-bounces at r-forge.wu-wien.ac.at
> [mailto:rcpp-devel-bounces at r-forge.wu-wien.ac.at] On Behalf Of Patrick
> Burns
> Sent: Tuesday, February 14, 2012 3:47 PM
> To: Dirk Eddelbuettel
> Cc: rcpp-devel at r-forge.wu-wien.ac.at
> Subject: Re: [Rcpp-devel] RInside under Windows
>
>
>
> On 14/02/2012 20:14, Dirk Eddelbuettel wrote:
>>
>> On 14 February 2012 at 20:04, Patrick Burns wrote:
>> | Obviously I don't *really* know what I'm doing, or even *sort of*
>> | know what I'm doing. But that never stopped me before.
>> |
>> | Here is hopefully enough breadcrumbs to help someone, or even all of
>
>> | us.
>> |
>> |
>> | I've reinstalled RInside so that I am starting with the original
>> | Makefile.win
>> |
>> | *) There is an extraneous "n" on the first line (first character)
>> | of Makefile.win -- 'make'
>> | doesn't like that.
>>
>> I don't know for sure what your are talking about. A common fix would
>> be to send a diff. Could you do that?
>
> This is Windows, remember -- perhaps there is a way of doing a diff, I
> don't know it. But the start of Makefile.win that I see out of the box
> is:
>
> n## -*- mode: makefile; tab-width: 8; -*- ## ## Simple Makefile for
> Windows
>
> Note the bizarre first character.
>
>>
>> | *) I need to comment out the command setting R_HOME and set it in
>> | DOS instead.
>>
>> Works for me in the Makefile.win
>>
>> | *) The next problem is two instances each of:
>> |
>> | there is no package called [Rcpp, RInside]
>> |
>> | This is because .libPaths() is only finding the main library and not
>
>> | the one where the installed packages go.
>> |
>> | This is diagnosed by adding a line to Makefile.win:
>> |
>> | Rlibpaths := $(shell echo '.libPaths()' |
> $(R_HOME)/bin/R $(R_ARCH)
>> | --vanilla --slave)
>>
>> I would recommend using ~/.Rprofile which strikes me as easier.
>>
>> | Adding a line to the checkR task:
>> |
>> | echo $(Rlibpaths)
>> |
>> | And then doing:
>> |
>> | make checkR -f Makefile.win
>> |
>> | This is the same in 32-bit and 64-bit.
>> |
>> | This problem can be remedied by setting the R_LIBS_USER environment
>> | variable. You can see what that is with the R command:
>> |
>> | Sys.getenv('R_LIBS_USER')
>> |
>> |
>> | *) Now there is some progress, but not much.
>> |
>> | It compiles:
>> | rinside_callbacks0
>> | rinside_module_sample0
>> | rinside_sample0
>>
>> Can you run rinside_sample0.exe ?
>>
>> | And gets an error on rinside_sample1:
>> |
>> | reopening rinside_sample1.exe: Permission denied
>>
>> Huh?
>
> Agreed. That is the only indication of it being upset.
>
> But I renamed that file to try to make it do it last.
> Running it again there was no error -- everything compiled.
>
> Compiled for 32-bit.
>
> There is not an x64 subdirectory to 'lib' (as there is with 'libs') so
> nothing compiles.
>
>>
>> | However the three that did compile don't run. They all have the
>> | error message:
>> |
>> | The program can't start because R.dll is missing from your computer.
>
>> | Try reinstalling the program to fix this problem.
>>
>> Could that be a Win7 security setting or something like it?
>
> That's an interesting idea. Anyone have ideas about testing it?
>
> Pat
>
>>
>> | This is using Rtools2.14 and R 2.14.1 with
>> | RInside_0.2.6 Rcpp_0.9.9
>>
>> I think I used the same combination with success.
>>
>> Dirk
>>
>>
>> | Pat
>> |
>> | On 14/02/2012 17:53, Dirk Eddelbuettel wrote:
>> |>
>> |> Hi Pat,
>> |>
>> |> On 14 February 2012 at 17:43, Patrick Burns wrote:
>> |> | Good point about the Rtools version. I started | with 2.13,
>> |> but I get the same thing with 2.14.
>> |> |
>> |> | Here are the key changes that I made to Makefile.win:
>> |> |
>> |> | RCPPINCL :=
>> |> -IC:/Users/pat/Documents/R/win-library/2.14/Rcpp/include
>> |> | RCPPLIBS :=
>> |> |
>> |> C:/Users/pat/Documents/R/win-library/2.14/Rcpp/libs/i386/Rcpp.dll
>> |> |
>> |> | RINSIDEINCL :=
>> |> -IC:/Users/pat/Documents/R/win-library/2.14/RInside/include
>> |> | RINSIDELIBS :=
>> |> |
>> |> C:/Users/pat/Documents/R/win-library/2.14/RInside/libs/i386/libRIns
>> |> ide.dll
>> |>
>> |> That's not quite right, is it? What do (quoting from
>> |> examples/standard/Makefile.win) these do:
>> |>
>> |> ## include headers and libraries for RInside embedding classes
>> |> RINSIDEINCL := $(shell echo 'RInside:::CxxFlags()' |
> $(R_HOME)/bin/R $(R_ARCH) --vanilla --slave)
>> |> RINSIDELIBS := $(shell echo 'RInside:::LdFlags()' |
> $(R_HOME)/bin/R $(R_ARCH) --vanilla --slave)
>> |>
>> |> | I then do:
>> |> |
>> |> | make -f Makefile.win
>> |> |
>> |> | I seem to have failed in my attempt to | tell it where R lives
>> |> -- I get a cygwin | warning about MS-DOS style path, but I |
>> |> don't think that is really a problem.
>> |>
>> |> R_HOME must be defined. You can get it from R, or hardcode it.
>> |>
>> |> The single best start is to try
>> |>
>> |> cd examples/standard
>> |> make -f Makefile.win
>> |>
>> |> which should create 10+ executable. And you can borrow freely from
>
>> |> that Makefile.win which should work.
>> |>
>> |> Lastly, the Cygwin thing is line noise which you can suppress by
>> |> setting an env var appropriately. This comes from the newer
> Rtools.
>> |>
>> |> | It then attempts the g++ command, gives | the multiple
>> |> definition statements, and:
>> |>
>> |> Linking is still wrong then.
>> |>
>> |> Dirk
>> |>
>> |>
>> |
>> | --
>> | Patrick Burns
>> | patrick at burns-stat.com
>> | http://www.burns-stat.com
>> | http://www.portfolioprobe.com/blog
>> | twitter: @portfolioprobe
>>
>
> --
> Patrick Burns
> patrick at burns-stat.com
> http://www.burns-stat.com
> http://www.portfolioprobe.com/blog
> twitter: @portfolioprobe
> _______________________________________________
> 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
>
--
Patrick Burns
patrick at burns-stat.com
http://www.burns-stat.com
http://www.portfolioprobe.com/blog
twitter: @portfolioprobe
More information about the Rcpp-devel
mailing list