[Rd] Problem compiling R library on FC4 ( conflicting declaration in Rinterface.h and stdint.h)

Marc Schwartz marc_schwartz at me.com
Sun Dec 27 17:01:11 CET 2009


On Dec 27, 2009, at 1:01 AM, Prof Brian Ripley wrote:

> On Sat, 26 Dec 2009, Marc Schwartz wrote:
>
>> FC4?  Really?
>
> That was my reaction, but I think there may be another problem.  The  
> subject line said 'R library', the body said 'The package'.  What  
> are we talking about here?  Rinterface.h is intended for alternative  
> front-ends (see the comments in the file), and there ought to be a  
> configure script in such front-ends, defining e.g. HAVE_UINTPTR_T.
>
> We were not told the version of R: maybe that is equally old?
>
>> That has not been supported in over 3 years.
>>
>> The only versions of Fedora currently supported are 11 and 12. You  
>> need to get that machine updated.
>>
>> My vague recollection was that there were a variety of fortran  
>> compiler issues around that time (circa 2005/2006) with FC4, though  
>> I could not locate anything specific regarding the error message  
>> you are observing.
>
> (S)he is using C++.


Indeed. For some reason I saw the 'g++' below and combined with my  
recollections of FC4, my brain translated that to g77.

Thanks for noting that.

Marc


>> Get your computer updated to a current version of Fedora, if that  
>> is the Linux distribution you wish to stay with. Trying to debug  
>> compiler problems on a Linux distribution that itself has not been  
>> supported in a long time is asking for trouble.
>>
>> Marc Schwartz
>>
>>
>> On Dec 26, 2009, at 3:41 PM, Saptarshi Guha wrote:
>>
>>> Hello,
>>> The package builds successfully on RHEL5 and OS X( 64 bit,32/64
>>> respectively) but on FC4(32 bit) it fails with this error
>>> g++ -m32 -I/usr/include/R  -I/usr/local/include    -fpic  -O2 -g - 
>>> pipe
>>> -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
>>> --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic
>>> -fasynchronous-unwind-tables -I. -g  `pkg-config --cflags protobuf`
>>> -Wall -c display.cc -o display.o
>>> /usr/include/R/Rinterface.h:84: error: conflicting declaration
>>> 'typedef long unsigned int uintptr_t'
>>> /usr/include/stdint.h:129: error: 'uintptr_t' has a previous
>>> declaration as 'typedef unsigned int uintptr_t'
>>> display.cc includes a header file ream.h which has
>>> #ifndef __ream_h
>>> #define __ream_h
>>> #include <iostream>
>>> #include <google/protobuf/stubs/common.h>
>>> #include <rexp.pb.h>
>>> #include <stdint.h>  //commenting this does not make a difference
>>> #include <sys/types.h>
>>> #include <sys/time.h>
>>> #include <time.h>
>>> #include <errno.h>
>>> #include <fcntl.h>
>>> #include <signal.h>
>>> #include <stdio.h>
>>> #include <stdlib.h>
>>> #include <string.h>
>>> #include <unistd.h>
>>> #include <sys/wait.h>
>>> #define R_NO_REMAP
>>> #define R_INTERFACE_PTRS 1
>>> #define CSTACK_DEFNS 1
>>> #include <Rversion.h>
>>> #include <R.h>
>>> #include <Rdefines.h>
>>> #include <Rinterface.h>
>>> #include <Rembedded.h>
>>> #include <R_ext/Boolean.h>
>>> #include <R_ext/Parse.h>
>>> #include <R_ext/Rdynload.h>
>>> Thanks
>>> Saptarshi



More information about the R-devel mailing list