[Rd] Error compiling on HP-UX

Peter Dalgaard P.Dalgaard at biostat.ku.dk
Mon Dec 18 16:29:07 CET 2006


Pascal A. Niklaus wrote:
> Dear all,
>
> I hope this is the right mailing list for my question -- I felt that this was 
> too technical for R-help.
>
> I am trying to compile R-2.4.0 on a HP-UX system:
>
> ./configure 
> MAKE=gmake --prefix=$HOME --without-x  --without-tcltk --disable-R-profiling --without-readline --disable-multibyte
>
> R is now configured for ia64-hp-hpux11.23
>
>   Source directory:          .
>   Installation directory:    /home/agrl/pniklaus
>
>   C compiler:                gcc  -g -O2 -std=gnu99
>   Fortran 77 compiler:       f90  -g
>
>   C++ compiler:              g++  -g -O2
>   Fortran 90/95 compiler:    f90 -g
>
>   Interfaces supported:
>   External libraries:
>   Additional capabilities:   NLS
>   Options enabled:           shared BLAS
>
>   Recommended packages:      yes
>
> gmake gives me the following error:
>
> gcc -I../../src/extra/zlib -I../../src/extra/bzip2 -I../../src/extra/pcre  -I. -I../../src/include -I../../src/include -I/home/agrl/pniklaus/include -DHAVE_CONFIG_H    -g -O2 -std=gnu99 -c 
> platform.c -o platform.o
> In file included from /usr/include/netdb.h:69,
>                  from platform.c:1428:
> /usr/include/sys/socket.h:535: error: static declaration of 'sendfile' follows 
> non-static declaration
> /usr/include/sys/socket.h:506: error: previous declaration of 'sendfile' was 
> here
> /usr/include/sys/socket.h:536: error: static declaration of 'sendpath' follows 
> non-static declaration
> /usr/include/sys/socket.h:508: error: previous declaration of 'sendpath' was 
> here
>
> I am not sure whether this is a problem with the platform's installed 
> libraries or with the way R includes these files. Including netdb.h alone in 
> a test file does not result in any error.
>
>   
This sits in the include file: We have unconditional declarations
   extern sbsize_t sendfile __((int, int, off_t, bsize_t,
                               const struct iovec *, int));
   extern sbsize_t sendpath __((int, char *, off_t, bsize_t,
                               const struct iovec *, int));

and then later on

#ifdef __STDC__
static sbsize_t sendfile __((int, int, off_t, bsize_t, const struct
iovec *, int));
static sbsize_t sendpath __((int, char *, off_t, bsize_t, const struct
iovec *, int));
...

which I guess is detected as an error by the gcc compiler. There might
be a way of turning this check off, but I can't spot any in my man page
for gcc.
> I have put config.h, config.log and the socket.h files on the web:
>
> http://azug.minpet.unibas.ch/~pascal/R/config.log
> http://azug.minpet.unibas.ch/~pascal/R/config.h
> http://azug.minpet.unibas.ch/~pascal/R/socket.h
>
> Is there any further information I can provide
>   

The gcc version might be helpful
> Thank you for your help
>
> Pascal Niklaus
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>   


-- 
   O__  ---- Peter Dalgaard             Øster Farimagsgade 5, Entr.B
  c/ /'_ --- Dept. of Biostatistics     PO Box 2099, 1014 Cph. K
 (*) \(*) -- University of Copenhagen   Denmark          Ph:  (+45) 35327918
~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk)                  FAX: (+45) 35327907



More information about the R-devel mailing list