<div dir="ltr">I assumed incorrectly that getting the pure Octave test working would imply that<div>RcppOctave will work. I just checked, and I'm seeing the same memory fault</div><div>that you see. As I mentioned in the rcppoctave-users thread even the pure Octave</div>
<div>test will fail (for the same reason) if it is not terminated properly, and it appears that</div><div>the way the embedded session is terminated in RcppOctave may not be correct</div><div>in the Mac OS X environment. Further comments on this will move to rcppoctave-users</div>
<div>list...</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Nov 1, 2013 at 3:44 PM, Simon Zehnder <span dir="ltr"><<a href="mailto:szehnder@uni-bonn.de" target="_blank">szehnder@uni-bonn.de</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Same thing actually on my side: I had a hardware crash lately with 10.8 and made fresh install after formatting my harddrive NSA-style :)<br>
<br>
Afterwards I compiled R 3.0.1 and from macports the gcc48 port as well as gettext. Then, Mavericks came and I updated - nothing worked anymore: I reinstalled gcc48 port and deleted R 3.0.1. Then I installed gcc4.8.2 from <a href="http://hpc.sourceforge.net" target="_blank">http://hpc.sourceforge.net</a>, Xcode Command line tools for Mavericks and XQuartz 4.7.2. I work with environment modules, where I can load a certain compiler with its needed environment variables. With gcc 4.8.2 I installed R-3.0.2 and then the packages. Always have to type “module load compilers/gcc-4.8.2 before starting R, but that doesn’t bother me … I still can use openMP to its great extent :)<br>
<br>
My problem is linked to the install_name_tool and the way on Mac OS paths are set and replaced in dynamic libraries … this could of course be caused by “older tools” like the llvm-gcc4.2 “laying” around…. though locate does not find them….<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
<br>
On 01 Nov 2013, at 20:33, Dominick Samperi <<a href="mailto:djsamperi@gmail.com">djsamperi@gmail.com</a>> wrote:<br>
<br>
> My original attempt to update to Mavericks failed (unrelated hardware issue), and this<br>
> may have actually worked in my favor. It forced me to install Mac OS X 10.8 from<br>
> scratch, a "clean" install, that I later upgraded to Mavericks. If you upgraded from<br>
> an existing configuration you may have old tools (like llvm-g++-4.2) laying around<br>
> that could cause problems.<br>
><br>
><br>
> On Fri, Nov 1, 2013 at 3:02 PM, Simon Zehnder <<a href="mailto:szehnder@uni-bonn.de">szehnder@uni-bonn.de</a>> wrote:<br>
> I read through all the thread answers and my variables in the Makeconf are the same alsso I installed the Xcode Command Line Tools for Mavericks. Are there any other apps and libs that have been to be updated? (I do not use brew). What remains is the following:<br>
><br>
> Compiling Rcpp give the pointer exception (when calling compileAttributes), also encountered in the thread you referred to.<br>
><br>
> Compiling Rcpp and adding the flag “-headerpad_max_install_names” lets the compileAttributes function do its work without any exception. My next guess is: possibly the gettext library…<br>
><br>
> Best<br>
><br>
> Simon<br>
><br>
> On 01 Nov 2013, at 19:20, Dominick Samperi <<a href="mailto:djsamperi@gmail.com">djsamperi@gmail.com</a>> wrote:<br>
><br>
> > In your original post you mention the "pointer being freed was not allocated" error message. I have just tracked this down in another context (Octave<br>
> > under Mac OS X). In my case the error occurs on the dlopen() call for<br>
> > an R package shared library. The fix was to make sure all apps and libs<br>
> > are updated after moving to Mavericks. See the thread in rcppoctave-users<br>
> > list for a blow-by-blow description.<br>
> ><br>
> ><br>
> > On Fri, Nov 1, 2013 at 1:11 PM, Simon Zehnder <<a href="mailto:szehnder@uni-bonn.de">szehnder@uni-bonn.de</a>> wrote:<br>
> > You are right, working with apple and C++ is often a mess. Up to now, llvm does not yet support openmp. It is coming but I do not see it fully implemented before next summer. If I want to use openmp I have thus to rely on the gcc which brings a lot of problems with it and from what I read on the R-lists most of the Mac Users suffer. I guess that this time a reinstall of R was unavoidable for most of us. I thought about using the xcrun —find gcc/g++ etc. to get what is needed in a Makevars but this does not give anything so far.<br>
> ><br>
> ><br>
> > On 01 Nov 2013, at 17:50, Dominick Samperi <<a href="mailto:djsamperi@gmail.com">djsamperi@gmail.com</a>> wrote:<br>
> ><br>
> > > With Apple moving from gcc/g++ to LLVM/clang++ I guess it makes sense<br>
> > > for R/Rcpp to use the LLVM/clang++ tool chain eventuallly, but I don't know<br>
> > > if there are plans to do this. Otherwise, the R community would need to<br>
> > > support "MACtools" following the model provided by "Rtools" under Windows...<br>
> > ><br>
> > ><br>
> > > On Fri, Nov 1, 2013 at 12:12 PM, Simon Zehnder <<a href="mailto:szehnder@uni-bonn.de">szehnder@uni-bonn.de</a>> wrote:<br>
> > > Hi Dominick,<br>
> > ><br>
> > > I did install files from brew but instead used the gcc from <a href="http://hpc.sourceforge.net" target="_blank">http://hpc.sourceforge.net</a><br>
> > ><br>
> > ><br>
> > > On 01 Nov 2013, at 16:55, Dominick Samperi <<a href="mailto:djsamperi@gmail.com">djsamperi@gmail.com</a>> wrote:<br>
> > ><br>
> > > > If you depend on tools installed using brew, you might want to try<br>
> > > > removing those that were installed before the Mavericks update,<br>
> > > > using:<br>
> > > > rm -rf /usr/local/Cellar<br>
> > > > brew prune<br>
> > > > brew doctor<br>
> > > > brew install <what-you-need><br>
> > > ><br>
> > > ><br>
> > > > On Fri, Nov 1, 2013 at 11:19 AM, Simon Zehnder <<a href="mailto:szehnder@uni-bonn.de">szehnder@uni-bonn.de</a>> wrote:<br>
> > > > Point landing J.J.!<br>
> > > ><br>
> > > > 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.<br>
> > > ><br>
> > > > 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?<br>
> > > ><br>
> > > > Best<br>
> > > > Simon<br>
> > > ><br>
> > > ><br>
> > > ><br>
> > > > On 01 Nov 2013, at 15:56, JJ Allaire <<a href="mailto:jj.allaire@gmail.com">jj.allaire@gmail.com</a>> wrote:<br>
> > > ><br>
> > > > > 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).<br>
> > > > ><br>
> > > > > J.J.<br>
> > > > ><br>
> > > > ><br>
> > > > > On Fri, Nov 1, 2013 at 10:01 AM, Simon Zehnder <<a href="mailto:szehnder@uni-bonn.de">szehnder@uni-bonn.de</a>> wrote:<br>
> > > > > Dear Rcpp::Users and Rcpp::Devels,<br>
> > > > ><br>
> > > > > I get a weird exception when I try to compile an attribute in one of my packages:<br>
> > > > ><br>
> > > > > compileAttributes("/Users/simonzehnder/git/mmstruct/mmstruct/")<br>
> > > > > R(6256,0x7fff79ad9310) malloc: *** error for object 0x7fff7ac48330: pointer being freed was not allocated<br>
> > > > > *** set a breakpoint in malloc_error_break to debug<br>
> > > > > Abort trap: 6<br>
> > > > ><br>
> > > > > If I instead use the sourceCpp function all works fine:<br>
> > > > ><br>
> > > > > sourceCpp("/Users/simonzehnder/git/mmstruct/mmstruct/src/testing.cpp”)<br>
> > > > > testfunction_cc(c(0,0,0), list(trades = rnorm(10), T = 360))<br>
> > > > > [1] 0.000000e+00 3.509927e-05 1.169976e-05<br>
> > > > ><br>
> > > > > The function in my file is actually pretty simple (and its the only one):<br>
> > > > ><br>
> > > > > #include<Rcpp.h><br>
> > > > ><br>
> > > > > // [[Rcpp::export]]<br>
> > > > ><br>
> > > > > Rcpp::NumericVector testfunction_cc(Rcpp::NumericVector par,<br>
> > > > > Rcpp::List list)<br>
> > > > > {<br>
> > > > > const unsigned int K = par.size();<br>
> > > > > Rcpp::NumericVector trades = list["trades"];<br>
> > > > > const unsigned int T = list["T"];<br>
> > > > > double tmp = mean(trades)/T;<br>
> > > > > std::vector<double> startp(K);<br>
> > > > > startp[0] = 0.0;<br>
> > > > > startp[1] = tmp * 0.75/2;<br>
> > > > > startp[2] = tmp * 0.25/2;<br>
> > > > ><br>
> > > > > return Rcpp::wrap(startp);<br>
> > > > > }<br>
> > > > ><br>
> > > > > At this moment I am a little perplexed. Where should I search for a possible error? What are things to try out?<br>
> > > > ><br>
> > > > > Best<br>
> > > > ><br>
> > > > > Simon<br>
> > > > ><br>
> > > > > _______________________________________________<br>
> > > > > Rcpp-devel mailing list<br>
> > > > > <a href="mailto:Rcpp-devel@lists.r-forge.r-project.org">Rcpp-devel@lists.r-forge.r-project.org</a><br>
> > > > > <a href="https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel" target="_blank">https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel</a><br>
> > > > ><br>
> > > ><br>
> > > > _______________________________________________<br>
> > > > Rcpp-devel mailing list<br>
> > > > <a href="mailto:Rcpp-devel@lists.r-forge.r-project.org">Rcpp-devel@lists.r-forge.r-project.org</a><br>
> > > > <a href="https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel" target="_blank">https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel</a><br>
> > > ><br>
> > ><br>
> > ><br>
> ><br>
> ><br>
><br>
><br>
<br>
</div></div></blockquote></div><br></div>