From Mike.Beddo at dataventures.com  Sat Nov  1 05:06:52 2014
From: Mike.Beddo at dataventures.com (Mike Beddo)
Date: Sat, 1 Nov 2014 04:06:52 +0000
Subject: [Rd] Trouble installing Rcpp on AIX - missing "execinfo.h"
In-Reply-To: <21588.17944.611417.254485@max.nulle.part>
References: <AA01911644A2F84FB4571C323FC45DD56A524FC7@TWIX.dataventures.local>
	<21588.17944.611417.254485@max.nulle.part>
Message-ID: <AA01911644A2F84FB4571C323FC45DD56A526B86@TWIX.dataventures.local>

Dirk and Edward,

Thanks for the help.

I found for AIX that "execinfo.h" basically did nothing that I could tell. What I ended up doing was replacing the line in api.cpp "#include <execinfo.h>" with the following from gnulib:

int backtrace (void **buffer, int size)
{
    (void) buffer;
    (void) size;
    return 0;
}

char **backtrace_symbols (void *const *buffer, int size)
{
    (void) buffer;
    (void) size;
    return 0;
}

void backtrace_symbols_fd (void *const *buffer, int size, int fd)
{
    (void) buffer;
    (void) size;
    (void) fd;
}

So I've probably lost some functionality over other popular Unix systems, but the few examples that I ran from the Rcpp help pages, and for other packages that depend on Rcpp, seemed to indicate that what got built essentially works fine.

Up till now, at my work we've been moving data back and forth between AIX (data generation) and Windows (R analysis). I'm no fan of AIX, but we needed R on AIX so we can avoid all the data movement and be more productive.

I am going to have to learn more about Rcpp. This was really my first encounter with it - my co-worker depends on it so I was trying to build it on AIX for her.

I want to thank you both very much for the tips and help. If I can be of service to help with testing on AIX, please feel free to reach out to me. Building the base R system for AIX 7.1 was no small feat for me - I spent days back and forth between the IBM XL and GNU compilers, trying to find the flags that would work. The R Admin guide got me 80% of the way there, but I had to patch a system header file, etc. Once that was done, building the recommended packages went ok for the most part, but building Matrix gave lots of warnings but seems to work. AIX is no friend to non-IBM softwares.

I will subscribe to the rcpp-devel list, and probably buy the book.

Mike Beddo

-----Original Message-----
From: Dirk Eddelbuettel [mailto:edd at debian.org] 
Sent: Friday, October 31, 2014 8:32 PM
To: Mike Beddo
Cc: r-devel at r-project.org
Subject: Re: [Rd] Trouble installing Rcpp on AIX - missing "execinfo.h"


On 30 October 2014 at 04:13, Mike Beddo wrote:
| Greetings,
| 
| When I try "install.packages('Rcpp')" it fails when compiling api.cpp (line 39). This is Rcpp 0.11.3. I searched my filesystem, and indeed I do not have execinfo.h anywhere. After some effort, I got R build on AIX. Now I am trying to build the packages I need. Rcpp is crucial.
| 
| I first build R with the native IBM XL compilers, and Rcpp wouldn't build. That was because it wasn't a "GOOD COMPILER" (there's a directive in the Rcpp code that checks for various types of compilers). So I switched to building R with gcc/gfortran/g++ 4.8 and got past that point, but now blocked by the absence of "execinfo.h" header file.
| 
| Any ideas?

I would have replied sooner if you had used the proper list -- which for matters pertaining to Rcpp is the rcpp-devel list (and note that you need subscribe first in order to post).

For systems we do not have access to -- like Solaris, Aix, or equally antique and rarified Unix systems -- we do rely on those having access to run tests.
Worst case we can #ifdef some features away so that you can build with a possibly sightly reduced feature set.  But you, or someone else on Aix, needs to drive this as we can't.

Dirk

--
http://dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org



[Rd] Trouble installing Rcpp on AIX - missing "execinfo.h"
Mike Beddo