[Rcpp-devel] RInside error in mac 64 bit?

Ariful Azad azadcse at gmail.com
Thu Mar 22 02:45:02 CET 2012


Thanks for your explanation. callbackFunction will be prefect in my case.
Just wondering can I pass an R function like below to a c++ function in a
separate cpp file (e.g., in src folder of my package)?

funx <- cfunction(signature(N = "integer" , xvec = "numeric",* fun =
"function"* ),
                  cpp, , Rcpp = TRUE, include = "using namespace Rcpp; ")


thanks

-- Ariful

On Wed, Mar 21, 2012 at 9:00 PM, Dirk Eddelbuettel <edd at debian.org> wrote:

>
> On 21 March 2012 at 20:46, Ariful Azad wrote:
> | Hi,
> |
> | I created a package using Rcpp (using Rcpp.package.skeleton()).
> | Now I need to access a piece of R code from the cpp code in the package.
> | I am trying to use RInside.
>
> Then you do /not/ start with the package skeleton generator, which is for
> use with _packages loaded into R_.
>
> RInside extends standalone C++ program with their own main() function.
>
>
> If what you want is to call back into R from a loadable package, do not
> look
> at RInside but rather look at the examples/ directory of Rcpp, particularly
> callbackFunctions/ which has a working example.
>
> | I am using Mac 64 bit machine.
>
> I can't speak to that, but folks have used Rcpp and RInside merrily on OS X
> in both 32 and 64 bit.
>
> Then again, maybe you don;t even want RInside.
>
> | When I installed RInside I found the shared libraries in two places
> | 1. /Library/Frameworks/R.
> | framework/Versions/2.14/Resources/library/RInside/lib
> | and  in
> | 2.
> /Library/Frameworks/R.framework/Versions/2.14/Resources/library/RInside/libs
> |
> | in the first directory I have one subfolder named i386 that contains two
> files
> | libRInside.a        libRInside.dylib
> |
> | but in the second directory I have three subfolders namely ,
> | a) i386 with files libRInside.a        libRInside.dylib
> | b) x86_64 with files RInside.so    RInside.so.dSYM
> | c)ppc with files RInside.so    RInside.so.dSYM
> |
> |
> | In my DESCRIPTION file I addedd
> |  LinkingTo: Rcpp, RInside
>
> No, that is not how it used. You misunderstand.
>
> Look at the Rcpp examples.
>
> Dirk
>
> | In my MakeVars I added
> | PKG_LIBS = `$(R_HOME)/bin/Rscript -e "Rcpp:::LdFlags()"`
> `$(R_HOME)/bin/Rscript
> | -e "RInside:::LdFlags()"`
> |
> | Now when I install the package using R CMD install , it installs both 32
> bit
> | and 64 bit version.
> | However, I am getting error for the 64 bit version , probably because
> | RInside.so is not for mac ? (Please see below the outputs).
> |
> | By the way how can I modify architecture specific compile option in
> Makevars
> | file for (for example I want to pass different libraries to different
> versions
> | directed fro 32 or 64 bit architectures ) ?
>
> Normall R takes care of that.
> |
> | Output from R CMD install pkg
> | ----------------------------
> |
> | * installing to library ‘/Library/Frameworks/R.framework/Versions/2.14/
> | Resources/library’
> | * installing *source* package ‘flowMatch’ ...
> | ** libs
> | *** arch - i386
> | g++ -arch i386 -I/Library/Frameworks/R.framework/Resources/include
> -I/Library/
> | Frameworks/R.framework/Resources/include/i386  -I/usr/local/include -I"/
> |
> Library/Frameworks/R.framework/Versions/2.14/Resources/library/Rcpp/include"
> |
> -I"/Library/Frameworks/R.framework/Versions/2.14/Resources/library/RInside/
> | include"   -fPIC  -g -O2 -c BipartiteGraph.cpp -o BipartiteGraph.o
> | BipartiteGraph.cpp:28: warning: division by zero in ‘1.0e+0 / 0.’
> | g++ -arch i386 -I/Library/Frameworks/R.framework/Resources/include
> -I/Library/
> | Frameworks/R.framework/Resources/include/i386  -I/usr/local/include -I"/
> |
> Library/Frameworks/R.framework/Versions/2.14/Resources/library/Rcpp/include"
> |
> -I"/Library/Frameworks/R.framework/Versions/2.14/Resources/library/RInside/
> | include"   -fPIC  -g -O2 -c MinWghtEdgCoverBipartite.cpp -o
> | MinWghtEdgCoverBipartite.o
> | g++ -arch i386 -I/Library/Frameworks/R.framework/Resources/include
> -I/Library/
> | Frameworks/R.framework/Resources/include/i386  -I/usr/local/include -I"/
> |
> Library/Frameworks/R.framework/Versions/2.14/Resources/library/Rcpp/include"
> |
> -I"/Library/Frameworks/R.framework/Versions/2.14/Resources/library/RInside/
> | include"   -fPIC  -g -O2 -c rcpp_hello_world.cpp -o rcpp_hello_world.o
> | g++ -arch i386 -dynamiclib -Wl,-headerpad_max_install_names -undefined
> | dynamic_lookup -single_module -multiply_defined suppress
> -L/usr/local/lib -o
> | flowMatch.so BipartiteGraph.o MinWghtEdgCoverBipartite.o
> rcpp_hello_world.o /
> |
> Library/Frameworks/R.framework/Versions/2.14/Resources/library/Rcpp/lib/i386/
> | libRcpp.a
> /Library/Frameworks/R.framework/Versions/2.14/Resources/library/
> | RInside/lib/i386/libRInside.a -F/Library/Frameworks/R.framework/..
> -framework R
> | -Wl,-framework -Wl,CoreFoundation
> | installing to
> /Library/Frameworks/R.framework/Versions/2.14/Resources/library/
> | flowMatch/libs/i386
> | *** arch - x86_64
> | g++ -arch x86_64 -I/Library/Frameworks/R.framework/Resources/include
> -I/Library
> | /Frameworks/R.framework/Resources/include/x86_64  -I/usr/local/include
> -I"/
> |
> Library/Frameworks/R.framework/Versions/2.14/Resources/library/Rcpp/include"
> |
> -I"/Library/Frameworks/R.framework/Versions/2.14/Resources/library/RInside/
> | include"   -fPIC  -g -O2 -c BipartiteGraph.cpp -o BipartiteGraph.o
> | BipartiteGraph.cpp:28: warning: division by zero in ‘1.0e+0 / 0.’
> | g++ -arch x86_64 -I/Library/Frameworks/R.framework/Resources/include
> -I/Library
> | /Frameworks/R.framework/Resources/include/x86_64  -I/usr/local/include
> -I"/
> |
> Library/Frameworks/R.framework/Versions/2.14/Resources/library/Rcpp/include"
> |
> -I"/Library/Frameworks/R.framework/Versions/2.14/Resources/library/RInside/
> | include"   -fPIC  -g -O2 -c MinWghtEdgCoverBipartite.cpp -o
> | MinWghtEdgCoverBipartite.o
> | g++ -arch x86_64 -I/Library/Frameworks/R.framework/Resources/include
> -I/Library
> | /Frameworks/R.framework/Resources/include/x86_64  -I/usr/local/include
> -I"/
> |
> Library/Frameworks/R.framework/Versions/2.14/Resources/library/Rcpp/include"
> |
> -I"/Library/Frameworks/R.framework/Versions/2.14/Resources/library/RInside/
> | include"   -fPIC  -g -O2 -c rcpp_hello_world.cpp -o rcpp_hello_world.o
> | g++ -arch x86_64 -dynamiclib -Wl,-headerpad_max_install_names -undefined
> | dynamic_lookup -single_module -multiply_defined suppress
> -L/usr/local/lib -o
> | flowMatch.so BipartiteGraph.o MinWghtEdgCoverBipartite.o
> rcpp_hello_world.o /
> |
> Library/Frameworks/R.framework/Versions/2.14/Resources/library/Rcpp/lib/x86_64/
> | libRcpp.a /libRInside.a -F/Library/Frameworks/R.framework/.. -framework R
> | -Wl,-framework -Wl,CoreFoundation
> | i686-apple-darwin11-llvm-g++-4.2: /libRInside.a: No such file or
> directory
> | make: *** [flowMatch.so] Error 1
> | ERROR: compilation failed for package ‘flowMatch’
> |
> |
> | -------------
> |
> |
> | thanks
> |
> | -- Ariful
> |
> | ----------------------------------------------------------------------
> | _______________________________________________
> | 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
> --
> "Outside of a dog, a book is a man's best friend. Inside of a dog, it is
> too
> dark to read." -- Groucho Marx
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.r-forge.r-project.org/pipermail/rcpp-devel/attachments/20120321/a01d60ca/attachment.html>


More information about the Rcpp-devel mailing list