Problem compiling R library on FC4 ( conflicting declaration in Rinterface.h and stdint.h)
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