Point landing J.J.!

I already compiled a new R when Mavericks came out with a newly installed a 
gcc-4.8.2, that I can load via environment modules. I also installed the Xcode 
Command Line Tools for Mavericks.

I now reinstalled Rcpp with the gcc-4.8.2 and threw away all object and 
shared-object files in my /src/ folder of my package. The problem remains. Is 
there something special I can look for in my Makeconf file? What is so 
different about ‘compileAttributes’ in contrast to ‘sourceCpp’ or a usual 
package compilation via R CMD INSTALL? Does compileAttributes uses some 
additional flags and/or libraries?

Best
Simon



On 01 Nov 2013, at 15:56, JJ Allaire <[email protected]> wrote:

> Are you by any chance on OS X Mavericks? I had one other user report this 
> specific error on Mavericks and it seemed to be related to the use of 
> different compilers (and thus different heaps) within the same compilation 
> (there is exposure to this with the changes made by Apple to the toolchain in 
> Mavericks).
> 
> J.J.
> 
> 
> On Fri, Nov 1, 2013 at 10:01 AM, Simon Zehnder <[email protected]> wrote:
> Dear Rcpp::Users and Rcpp::Devels,
> 
> I get a weird exception when I try to compile an attribute in one of my 
> packages:
> 
> compileAttributes("/Users/simonzehnder/git/mmstruct/mmstruct/")
> R(6256,0x7fff79ad9310) malloc: *** error for object 0x7fff7ac48330: pointer 
> being freed was not allocated
> *** set a breakpoint in malloc_error_break to debug
> Abort trap: 6
> 
> If I instead use the sourceCpp function all works fine:
> 
> sourceCpp("/Users/simonzehnder/git/mmstruct/mmstruct/src/testing.cpp”)
> testfunction_cc(c(0,0,0), list(trades = rnorm(10), T = 360))
> [1] 0.000000e+00 3.509927e-05 1.169976e-05
> 
> The function in my file is actually pretty simple (and its the only one):
> 
> #include<Rcpp.h>
> 
> // [[Rcpp::export]]
> 
> Rcpp::NumericVector testfunction_cc(Rcpp::NumericVector par,
>         Rcpp::List list)
> {
>     const unsigned int K        = par.size();
>     Rcpp::NumericVector trades  = list["trades"];
>     const unsigned int T        = list["T"];
>     double tmp = mean(trades)/T;
>     std::vector<double> startp(K);
>     startp[0] = 0.0;
>     startp[1] = tmp * 0.75/2;
>     startp[2] = tmp * 0.25/2;
> 
>     return Rcpp::wrap(startp);
> }
> 
> At this moment I am a little perplexed. Where should I search for a possible 
> error? What are things to try out?
> 
> Best
> 
> Simon
> 
> _______________________________________________
> Rcpp-devel mailing list
> [email protected]
> https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel
> 

_______________________________________________
Rcpp-devel mailing list
[email protected]
https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel

Reply via email to