[Rcpp-devel] Issue Installing Rcpp on Solaris
Tim Jurka
timjurka at gmail.com
Tue Oct 18 19:56:25 CEST 2011
Thank you Martyn! I'll ask our sysadmins to install SUNWhea for me.
Also, do you know if Rcpp works under solaris-sparc even though it fails the CHECK?
Thank you for your time!
Tim
On Oct 18, 2011, at 6:18 AM, Martyn Plummer wrote:
> On Mon, 2011-10-17 at 16:13 -0500, 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 at 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 at 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?
>
> Tim is using g++ to compile Rcpp so this is not a problem with the
> Solaris compiler.
>
> The header that is missing on Tim's system is at /usr/include/execinfo.h
> on my Solaris Express (2.11) system and is provided by the package
> SUNWhea. In the Package Manager, this appears as "system/headers" under
> System > Core. So check that this package is installed.
>
> Martyn
>
>
>> Dirk
>>
>
>
> -----------------------------------------------------------------------
> This message and its attachments are strictly confidential. If you are
> not the intended recipient of this message, please immediately notify
> the sender and delete it. Since its integrity cannot be guaranteed,
> its content cannot involve the sender's responsibility. Any misuse,
> any disclosure or publication of its content, either whole or partial,
> is prohibited, exception made of formally approved use
> -----------------------------------------------------------------------
More information about the Rcpp-devel
mailing list