Re: [Rd] compile fails with x86_64-alpine-linux-uclibc-gcc

From: Simon Urbanek <>
Date: Mon, 13 Aug 2012 19:45:42 -0400

On Aug 13, 2012, at 2:22 PM, nobody wrote:

> On Mon, Aug 13, 2012 at 10:49:26AM -0400, Simon Urbanek wrote:

>> I suspect that your runtime/libc is defining fgetc as a macro which breaks any code that uses it as an identifier. Ideally, your runtime should be fixed to use a proper function, but you could probably work around it with something like
>> static char * fix_fgets(char *s, int n, FILE *stream) { return fgets(s, n, stream); }
>> #undef fgets
>> static char * fgets(char *s, int n, FILE *stream) { return fix_fgets(s, n, stream); }
>> Cheers,
>> Simon

> like this? :
> if so, then i get this err msg:
> connections.c:385:15: error: static declaration of 'fgets' follows non-static declaration
> /usr/include/stdio.h:544:14: note: previous declaration of 'fgets' was here
> connections.c: In function 'Rconn_fgetc':
> connections.c:3192:11: error: expected identifier before '(' token
> connections.c:3194:15: error: expected identifier before '(' token
> and here is how it's declared in stdio.h on my system:
> /* Get a newline-terminated string of finite length from STREAM.
> This function is a possible cancellation point and therefore not
> marked with __THROW. */
> extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
> __wur;

Ouch - never mind then - try simply #undef fgets in that case but since I don't have access to the system you have I can't really give you much better advice :/ mailing list Received on Mon 13 Aug 2012 - 23:49:44 GMT

This quarter's messages: by month, or sorted: [ by date ] [ by thread ] [ by subject ] [ by author ]

All messages

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Tue 14 Aug 2012 - 12:00:41 GMT.

Mailing list information is available at Please read the posting guide before posting to the list.

list of date sections of archive