Hi Dirk, Coincidentally, my inquiry was prompted by Prof Ripley who was adamant that Rcpp clears R CMD CHECK for solaris-sparc; I personally do not use Solaris.
Thank you for pointing out the test in debugging.cpp, I hadn't noticed that. I'll try out the fix to see if I can successfully install on our university machines and get back to you soon. Cheers! Tim On Oct 17, 2011, at 2:13 PM, Dirk Eddelbuettel wrote: > > Hi Tim, > > On 17 October 2011 at 13:39, Tim Jurka wrote: > | Hi Rcpp-devel, > | > | When installing Rcpp on Solaris ( R2.13.1 Platform: i386-pc-solaris2.10 > (32-bit) ) using install.packages, I get the following error: > | > | g++ -I/usr/local/lib/R/include -I../inst/include/ -I/usr/local/include > -fpic -g -O2 -c debugging.cpp -o debugging.o > | debugging.cpp:36:22: execinfo.h: No such file or directory > | debugging.cpp: In function `SEXPREC* stack_trace(const char*, int)': > | debugging.cpp:56: error: `backtrace' was not declared in this scope > | debugging.cpp:57: error: `backtrace_symbols' was not declared in this scope > | *** Error code 1 > | make: Fatal error: Command failed for target `debugging.o' > | ERROR: compilation failed for package ‘Rcpp’ > | > | Has anybody encountered this problem before, and is there a known fix? > Thank you in advance for all your help! > > Thanks for working on Solaris. > > You may well be the only non-member of R Core who does so --- Prof Ripley > usually complains to us when Rcpp breaks there, and we usually just shrug our > shoulders and point out that our hands are tied: no Solaris machine either > one of us can access, so no (meaningful) way to work on fixes. > > But more recently, Martyn Plummer (CC'ed) provided two excellent patches > which helped a lot. With those, we now have Rcpp 0.9.7, and Solaris builds > on Prof Ripley's test systems, or at least the x86-based one. Sparc still > fails as per the results page linked from CRAN's results page for Rcpp. > > Now, for the backtrace and backtrace_symbols symbols were not declared. > Grep'ing for this I found > > edd@max:~$ grep -rin backtrace svn/rcpp/pkg/Rcpp/src/* > svn/rcpp/pkg/Rcpp/src/debugging.cpp:56: stack_depth = > backtrace(stack_addrs, max_depth); > svn/rcpp/pkg/Rcpp/src/debugging.cpp:57: stack_strings = > backtrace_symbols(stack_addrs, stack_depth); > svn/rcpp/pkg/Rcpp/src/debugging.cpp:67: free(stack_strings); // malloc()ed > by backtrace_symbols > edd@max:~$ > > and indeed, in debugging.cpp I see > > #else // ! (defined(WIN32) || defined(__FreeBSD__) || defined(__NetBSD__) || > defined(__OpenBSD__) > > which is lacking a Solaris test -- I may need to add || > defined(__SUNPRO_CC) > test as well. > > Could you try locally if that works? Maybe Google can suggest another > Solaris variable to test for too? > > Dirk > > -- > "Outside of a dog, a book is a man's best friend. Inside of a dog, it is too > dark to read." -- Groucho Marx _______________________________________________ Rcpp-devel mailing list [email protected] https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel
