[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
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 simon.urba...@r-project.org wrote:

 From: Simon Urbanek simon.urba...@r-project.org
 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 rom...@r-enthusiasts.com, r-devel@r-project.org, 
 Dirk Eddelbuettel e...@debian.org
 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 rom...@r-enthusiasts.com
 wrote:
  
  From: Romain Francois rom...@r-enthusiasts.com
  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 e...@debian.org
  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--
  Â
  

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


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 rom...@r-enthusiasts.com wrote:


From: Romain Francois rom...@r-enthusiasts.com
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 e...@debian.org, 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 Eddelbuettele...@debian.org  wrote:


 From: Dirk Eddelbuettele...@debian.org
 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 Armstrongarmstrong.w...@gmail.com
     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,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.  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


-- 

[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 e...@debian.org wrote:


From: Dirk Eddelbuettel e...@debian.org
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 armstrong.w...@gmail.com
   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,  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.  
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