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/libRInside.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
| patr...@burns-stat.com
| http://www.burns-stat.com
| http://www.portfolioprobe.com/blog
| twitter: @portfolioprobe


--
Patrick Burns
patr...@burns-stat.com
http://www.burns-stat.com
http://www.portfolioprobe.com/blog
twitter: @portfolioprobe
_______________________________________________
Rcpp-devel mailing list
Rcpp-devel@lists.r-forge.r-project.org
https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel

Reply via email to