[Rd] for help on building a R package with several R function and a bunch of c, c++

2010-03-05 Thread alex46015
Hope I can get quick help from here, I have a bunch of c, c++ included main 
function and makefile. It works well on both UNIX and windows. I tried to build 
R package which include this C++ program and several other R functions.  These 
R function here are independent  of c++ code. I prefer to define one R function 
to call this c++ program (main function). 

I know how to build R package with just R function, but I don't know how to 
handle those c++ c code after I copied those  code  in ./src, I am reading 
manual "Writing R Extensions" , but I did n't catch the key point . Do you know 
any easy way to do it? ,

Thank you in advance! 

Alex

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] for help on building a R package with several R function and a bunch of c, c++

2010-03-05 Thread alex46015
I think the first question should be how to build a R function to call a bunch 
of C ,C++ which include one main program, and a makefile. My goal to build a R 
package will be next step.
 
I read Rcpp , I am not sure if  RcppResultSet can solve my problem or other 
function. Once I make sure it work I need ask UNIX adminstrator to install it.
 
I think it shouldn't be very complex,  as I know to build a R function easy 
with one C function.
 
Thanks you for yout attention!
 
Alex

--- On Fri, 3/5/10, Dirk Eddelbuettel  wrote:


From: Dirk Eddelbuettel 
Subject: Re: [Rd] for help on building a R package with several R function and 
a bunch of c, c++
To: alex46...@yahoo.com
Cc: r-devel@r-project.org
Date: Friday, March 5, 2010, 8:25 PM



On 5 March 2010 at 13:15, alex46...@yahoo.com wrote:
| Hope I can get quick help from here, I have a bunch of c, c++ included main 
function and makefile. It works well on both UNIX and windows. I tried to build 
R package which include this C++ program and several other R functions.  These 
R function here are independent  of c++ code. I prefer to define one R function 
to call this c++ program (main function). 
| 
| I know how to build R package with just R function, but I don't know how to 
handle those c++ c code after I copied those  code  in ./src, I am reading 
manual "Writing R Extensions" , but I did n't catch the key point . Do you know 
any easy way to do it? ,

When you asked _that exact same question_ this morning on r-help, you got the
following answer:

   From: Whit Armstrong 
   To: alex46...@yahoo.com
   Cc: r-h...@r-project.org
   Subject: Re: [R] for help on building a R package with several R function 
and a bunch of c, c++
   Date: Fri, 5 Mar 2010 10:33:54 -0500
   
   Pick up Rcpp, make your life easier.
   
   http://dirk.eddelbuettel.com/code/rcpp.html
   
   -Whit
  
   On Fri, Mar 5, 2010 at 9:19 AM,   wrote:
   > Hope I can get quick help from here, I have a bunch of c, c++ included 
main function and makefile. It works well on both UNIX and windows. I tried to 
build R package which include this C++ program and several other R functions.  
R function here are independent  c++ code. I prefer to define one R function to 
call this c++ program.
   >
   > Do you know any easy way to do it? I am reading manual "Writing R 
Extensions", I didn't catch the key point. I know how to build R package with 
just R function,  If I put all c++ code and makefile in /src...what I need do?
   >
   > Thank you in advance!
   >
   > Alex

Now, can you let us know 

    a) what part of the answer was unclear to you, and 

    b) what made you think you needed to repost _the identical question_ here

| Thank you in advance!

You're welcome. 

Dirk

| Alex
| 
| __
| R-devel@r-project.org mailing list
| https://stat.ethz.ch/mailman/listinfo/r-devel

-- 
  Registration is open for the 2nd International conference R / Finance 2010
  See http://www.RinFinance.com for details, and see you in Chicago in April!



  
[[alternative HTML version deleted]]

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] for help on building a R package with several R function and a bunch of c, c++

2010-03-07 Thread alex46015
Thank you for your help. So far what I did  on my notebook as follows. My OS 
is windows7.
 
I downloaded Rcpp windows version, and load library("Rcpp") then.
 
1, Change main funnction to f1.cpp, remove makefile.
2 ,run Rcpp.package.skeleton(name="test",list=c("rec1.R","rect2.R"))
3, edit  /man, /R, copied my exist file whch I have done sucessfully  
without any c++ program before.
4, copy  f1.cpp and all other related cpp and c into /src/
5. Rcmd  build --binary test
 
It showed--
 
making DLL
gcc 
-l“C:/PROGRA~2/R/R-210~1.1/include",“C:/PROGRA~2/R/R-210~1.1/bin/Rscript 
-e' Rcpp:::CxxxFlags<>'` -03 -Wall -std =gnu -999 -c cranbombind.c -o 
cranbombind.o
 
gcc.exe: **\Documents/R/win-library/2.10/Rcpp/lib: No such file or directory...

I checked the path, it did have C:\Users\alex 
**\Documents\R\win-library\2.10\Rcpp\lib
 
I don't know how I can fix the problem. do you think it could be problem there 
is a space between my first name and last name..
 
All I tried are on my own PC at home , I will tryon other  PC in my office.
 
Do you have suggestion?. Thanks,
 
Alex
--- On Sun, 3/7/10, Romain Francois  wrote:


From: Romain Francois 
Subject: Re: [Rd] for help on building a R package with several R function and 
a bunch of c, c++
To: alex46...@yahoo.com
Cc: "Dirk Eddelbuettel" , r-devel@r-project.org
Date: Sunday, March 7, 2010, 3:59 AM


On 03/06/2010 03:27 AM, alex46...@yahoo.com wrote:
> I think the first question should be how to build a R function to call a 
> bunch of C ,C++ which include one main program, and a makefile. My goal to 
> build a R package will be next step.

You should jump straight to making a package. You are making you life 
difficult with this "main program & makefile" model.

Install Rcpp and try to use the Rcpp.package.skeleton, this will create 
a simple package that uses some C++ classes from Rcpp, as well as an R 
function that calls them.

> I read Rcpp , I am not sure if  RcppResultSet can solve my problem or other 
> function. Once I make sure it work I need ask UNIX adminstrator to install it.

We don't know what your problem is. We can answer a question, but we 
cannot guess the question for you.

Rcpp works, please refer to our unit tests, for example look at this 
vignette: 
http://cran.r-project.org/web/packages/Rcpp/vignettes/Rcpp-unitTests.pdf

> I think it shouldn't be very complex,  as I know to build a R function easy 
> with one C function.
>
> Thanks you for yout attention!
>
> Alex
>
> --- On Fri, 3/5/10, Dirk Eddelbuettel  wrote:
>
>
> From: Dirk Eddelbuettel
> Subject: Re: [Rd] for help on building a R package with several R function 
> and a bunch of c, c++
> To: alex46...@yahoo.com
> Cc: r-devel@r-project.org
> Date: Friday, March 5, 2010, 8:25 PM
>
>
>
> On 5 March 2010 at 13:15, alex46...@yahoo.com wrote:
> | Hope I can get quick help from here, I have a bunch of c, c++ included main 
> function and makefile. It works well on both UNIX and windows. I tried to 
> build R package which include this C++ program and several other R 
> functions.  These R function here are independent  of c++ code. I prefer to 
> define one R function to call this c++ program (main function).
> |
> | I know how to build R package with just R function, but I don't know how to 
> handle those c++ c code after I copied those  code  in ./src, I am reading 
> manual "Writing R Extensions" , but I did n't catch the key point . Do you 
> know any easy way to do it? ,
>
> When you asked _that exact same question_ this morning on r-help, you got the
> following answer:
>
>     From: Whit Armstrong
>     To: alex46...@yahoo.com
>     Cc: r-h...@r-project.org
>     Subject: Re: [R] for help on building a R package with several R 
>function and a bunch of c, c++
>     Date: Fri, 5 Mar 2010 10:33:54 -0500
>
>     Pick up Rcpp, make your life easier.
>
>     http://dirk.eddelbuettel.com/code/rcpp.html
>
>     -Whit
>
>     On Fri, Mar 5, 2010 at 9:19 AM,  wrote:
>     >  Hope I can get quick help from here, I have a bunch of c, c++ 
>included main function and makefile. It works well on both UNIX and windows. I 
>tried to build R package which include this C++ program and several other R 
>functions.  R function here are independent  c++ code. I prefer to define 
>one R function to call this c++ program.
>     >
>     >  Do you know any easy way to do it? I am reading manual "Writing R 
>Extensions", I didn't catch the key point. I know how to build R package with 
>just R function,  If I put all c++ code and makefile in /src...what I need do?
>     >
>     >  Thank you in advance!
>     >
>     >  Alex
>
> Now, can you let us know
>
>      a) what part of the answer was unclear to you, and
>
>      b) what made you think you needed to repost _the identical question_ 
>here
>
> | Thank you in advance!
>
> You're welcome.
>
> Dirk


-- 
Romain Francois
Professional R Enth

[Rd] for help on building a R package with several R function and a bunch of c, c++

2010-03-08 Thread alex46015
Hope I can get quick help from here, I have a bunch of c, c++ included main 
function and makefile. It works well on both UNIX and windows. I tried to build 
R package which include this C++ program and several other R functions.  These 
R functions here are independent of c++ code. I prefer to define one R function 
to call this c++ program. 

I know how to build R package with just R function, But I don't know how to 
handle those c++, c and makefile  after I copied them in  /src.  I am reading 
manual "Writing R Extensions", I didn't catch the key point . Do you guys 
anybody know easy way to do it?.

Thank you in advance! 

Alex

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] for help on building a R package with several R function and a bunch of c, c++

2010-03-08 Thread alex46015
I built R package with only R code before, this is first time I build R package 
with mixed R code and C, C++ code. I would try Rcpp on our center UNIX, before 
I ask the administrator to install it, I need confirm several issue are right. 
Thank you for you patient.

1, I change main function as a general function with certain name such as void 
tranptest(char* filename[], double* para[]), and copy this file and other 
related c, c++  h, program to /src, and removed makefile.

2, I noticed there is Makevars after I ran Rcpp.package.skeleton,
do I need modify this file before I run R CMD build? what I need do for  
rcpp_hello_world.cpp rcpp_hello_world.cpp? it is template file handled by the 
program or it is for me to edit it as template?

3, Do I need write a R function such as tranptest<-function(inputfile, 
ctlfile,outfile, param1,param2,param3)
{
filenames<-c(inputfile,ctlfile,outfile)
params<-as.vector(c(param1, param2,param3))
.C("tranptest", as.character(filenames),as.double(params))
}
before I run R CMD build? if so, that means I put this R function in /R?

4, Do I need do anything to run library.dyname to load those complied objects? 
Where I can make sure it successful and I can use .C("tranptest",) in R 
before the wholepackage installed?


Thank you so much!

Alex
--- On Mon, 3/8/10, Romain Francois  wrote:

> From: Romain Francois 
> Subject: Re: [Rd] for help on building a R package with several R function 
> and a bunch of c, c++
> To: alex46...@yahoo.com
> Cc: r-devel@r-project.org, "Dirk Eddelbuettel" 
> Date: Monday, March 8, 2010, 2:47 AM
> Hi,
> 
> Yes, the problem is with spaces in path names. This has
> been fixed and 
> will appear as Rcpp 0.7.8 in a few days.
> 
> If you are in a rush, you can build it from svn, or quote
> the path that 
> is returned from CxxFlags.
> 
> Feel free to get back to us with more questions, although
> I'd encourage 
> you to use the dedicated Rcpp-devel mailing list :
> https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel
> 
> Romain
> 
> On 03/08/2010 04:20 AM, alex46...@yahoo.com
> wrote:
> > Thank you for your help. So far what I did  on
> my notebook as follows. My OS is windows7.
> > Â
> > I downloaded Rcpp windows version, and load
> library("Rcpp") then.
> > Â
> > 1, Change main funnction to f1.cpp, remove makefile.
> > 2 ,run
> Rcpp.package.skeleton(name="test",list=c("rec1.R","rect2.R"))
> > 3, edit  /man, /R, copied my exist file whch I
> have done sucessfully  without any c++ program
> before.
> > 4, copy  f1.cpp and all other related cpp and c
> into /src/
> > 5. Rcmd  build --binary test
> > Â
> > It showed--
> > Â
> > making DLL
> > gcc
> -l“C:/PROGRA~2/R/R-210~1.1/include",“C:/PROGRA~2/R/R-210~1.1/bin/Rscript
> -e' Rcpp:::CxxxFlags<>'` -03 -Wall -std =gnu -999 -c
> cranbombind.c -o cranbombind.o
> > Â
> > gcc.exe: **\Documents/R/win-library/2.10/Rcpp/lib: No
> such file or directory...
> >
> > I checked the path, it did have C:\Users\alex
> **\Documents\R\win-library\2.10\Rcpp\lib
> > Â
> > I don't know how I can fix the problem. do you think
> it could be problem there is a space between my first name
> and last name..
> > Â
> > All I tried are on my own PC at home , I will tryon
> other  PC in my office.
> > Â
> > Do you have suggestion?. Thanks,
> > Â
> > Alex
> > --- On Sun, 3/7/10, Romain Francois 
> wrote:
> >
> >
> > From: Romain Francois
> > Subject: Re: [Rd] for help on building a R package
> with several R function and a bunch of c, c++
> > To: alex46...@yahoo.com
> > Cc: "Dirk Eddelbuettel",
> r-devel@r-project.org
> > Date: Sunday, March 7, 2010, 3:59 AM
> >
> >
> > On 03/06/2010 03:27 AM, alex46...@yahoo.com
> wrote:
> >> I think the first question should be how to build
> a R function to call a bunch of C ,C++ which include one
> main program, and a makefile. My goal to build a R package
> will be next step.
> >
> > You should jump straight to making a package. You are
> making you life
> > difficult with this "main program&  makefile"
> model.
> >
> > Install Rcpp and try to use the Rcpp.package.skeleton,
> this will create
> > a simple package that uses some C++ classes from Rcpp,
> as well as an R
> > function that calls them.
> >
> >> I read Rcpp , I am not sure if 
> RcppResultSet can solve my problem or other function. Once I
> make sure it work I need ask UNIX adminstrator to install
> it.
> >
> > We don't know what your problem is. We can answer a
> question, but we
> > cannot guess the question for you.
> >
> > Rcpp works, please refer to our unit tests, for
> example look at this
> > vignette:
> > http://cran.r-project.org/web/packages/Rcpp/vignettes/Rcpp-unitTests.pdf
> >
> >> I think it shouldn't be very complex,  as I
> know to build a R function easy with one C function.
> >>
> >> Thanks you for yout attention!
> >>
> >> Alex
> >>
> >> --- On Fri, 3/5/10, Dirk Eddelbuettel 
> wrote:
> >>
> >>
> >> From: Dirk Eddelbuettel
> >> Subject: Re: [Rd] for help on buildi

Re: [Rd] for help on building a R package with several R function and a bunch of c, c++

2010-03-08 Thread alex46015
Yes! that is what I am looking for. When I post my question, I said I cannot 
catch the key point in "Writing R Extensions". 

Follow your suggestion, I almost have reached my goal although I passed  the R 
CMD check mypackage. Before I install it (I need ask UNIX adminstrator to do 
it), I check the package, I got the information
> dyn.load("tranptest.so")
> filenames<-c("Mrklist.txt","CCdata.txt","outputfile")
> param<-c(1,0,1,0,1,1)
> .C("tranptest",as.character(filenames),as.double(param))

 *** caught segfault ***
address 0, cause 'memory not mapped'

Traceback:
 1: .C("tranptest",as.character(filenames), as.double(param))

Do you have any clue about the error? I think it is very close tothe end.

Thank you so much . You save me a tons of time,

Alex

--- On Mon, 3/8/10, Simon Urbanek  wrote:

> From: Simon Urbanek 
> Subject: Re: [Rd] for help on building a R package with several R function 
> and a bunch of c, c++
> To: alex46...@yahoo.com
> Cc: "Romain Francois" , r-devel@r-project.org, 
> "Dirk Eddelbuettel" 
> Date: Monday, March 8, 2010, 12:53 PM
> Alex,
> 
> On Mar 8, 2010, at 12:16 , alex46...@yahoo.com
> wrote:
> 
> > I built R package with only R code before, this is
> first time I build R package with mixed R code and C, C++
> code. I would try Rcpp on our center UNIX, before I ask the
> administrator to install it, I need confirm several issue
> are right. Thank you for you patient.
> > 
> > 1, I change main function as a general function with
> certain name such as void tranptest(char* filename[],
> double* para[]), and copy this file and other related c,
> c++  h, program to /src, and removed makefile.
> > 
> 
> Yes, that's perfect - for the kind of usage you don't need
> Rcpp at all - R supports C++ sources out of the box. Just
> make sure your tranptest function is either in a .c file or
> you put
> extern "C"
> in front of it if it's in .cpp , e.g:
> 
> foo.cpp:
> extern "C" void tranptest(char **fn, double *par) {
> ...
> }
> 
> 
> > 2, I noticed there is Makevars after I ran
> Rcpp.package.skeleton,
> > do I need modify this file before I run R CMD build?
> what I need do for  rcpp_hello_world.cpp
> rcpp_hello_world.cpp? it is template file handled by the
> program or it is for me to edit it as template?
> > 
> > 3, Do I need write a R function such as
> tranptest<-function(inputfile, ctlfile,outfile,
> param1,param2,param3)
> > {
> > filenames<-c(inputfile,ctlfile,outfile)
> > params<-as.vector(c(param1, param2,param3))
> > .C("tranptest",
> as.character(filenames),as.double(params))
> > }
> > before I run R CMD build? if so, that means I put this
> R function in /R?
> > 
> 
> yes, in R/foo.R (replace "foo" by any name you want)
> 
> 
> > 4, Do I need do anything to run library.dyname to load
> those complied objects?
> 
> If you have a namespace just add
> useDynLib(foo)
> where "foo" is the name of your package. If you don't have
> a namespace (or don't kwno what that is ;)) just add a file
> R/zzz.R with the following content to your package:
> .First.lib <- function(libname, pkgname)
> library.dynam("foo", pkgname, libname)
> where "foo" is the name of your package.
> 
> > Where I can make sure it successful and I can use
> .C("tranptest",) in R before the wholepackage
> installed?
> > 
> 
> It's really simple - you don't need to install the package
> to test it. Assuming "foo" is the name of your package:
> Build the sources:
> R CMD SHLIB -o foo.so *.c*
> 
> start R in the same directory:
> R
> # load the library you just compiled
> dyn.load("foo.so")
> # test your code
> .C("tranptest", c("file1", "file2"), as.double(1,2,3,4))
> 
> Cheers,
> Simon
> 
> 
> > 
> > Alex
> > --- On Mon, 3/8/10, Romain Francois 
> wrote:
> > 
> >> From: Romain Francois 
> >> Subject: Re: [Rd] for help on building a R package
> with several R function and a bunch of c, c++
> >> To: alex46...@yahoo.com
> >> Cc: r-devel@r-project.org,
> "Dirk Eddelbuettel" 
> >> Date: Monday, March 8, 2010, 2:47 AM
> >> Hi,
> >> 
> >> Yes, the problem is with spaces in path names.
> This has
> >> been fixed and
> >> will appear as Rcpp 0.7.8 in a few days.
> >> 
> >> If you are in a rush, you can build it from svn,
> or quote
> >> the path that
> >> is returned from CxxFlags.
> >> 
> >> Feel free to get back to us with more questions,
> although
> >> I'd encourage
> >> you to use the dedicated Rcpp-devel mailing list
> :
> >> https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel
> >> 
> >> Romain
> >> 
> >> On 03/08/2010 04:20 AM, alex46...@yahoo.com
> >> wrote:
> >>> Thank you for your help. So far what I
> did  on
> >> my notebook as follows. My OS is windows7.
> >>> Â
> >>> I downloaded Rcpp windows version, and load
> >> library("Rcpp") then.
> >>> Â
> >>> 1, Change main funnction to f1.cpp, remove
> makefile.
> >>> 2 ,run
> >>
> Rcpp.package.skeleton(name="test",list=c("rec1.R","rect2.R"))
> >>> 3, edit  /man, /R, copied my exist fileÂ
> whch I
> >> have done sucessfully  without any

Re: [Rd] for help on building a R package with several R function and a bunch of c, c++

2010-03-08 Thread alex46015
I fixed the problem, it is related to my C++ code when I change main function 
to gneral function. 

You gave a great help!  Thank you! Simon.

have a good night!

Alex

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel