From simon.urbanek at r-project.org  Mon Aug 13 16:49:26 2012
From: simon.urbanek at r-project.org (Simon Urbanek)
Date: Mon, 13 Aug 2012 10:49:26 -0400
Subject: [Rd] compile fails with x86_64-alpine-linux-uclibc-gcc
In-Reply-To: <20120813034532.GA17328@wall.e>
References: <20120813034532.GA17328@wall.e>
Message-ID: <BE73D35E-4A05-4CCF-99DD-CB6715ECF9CF@r-project.org>


On Aug 12, 2012, at 11:45 PM, nobody wrote:

> hello,
> 
> i am trying to build R on alpine/gentoo with uclibc and it fails with the following
> error msg:
> 
> connections.c: In function 'Rconn_fgetc':
> connections.c:3184:11: error: expected identifier before '(' token
> connections.c:3186:15: error: expected identifier before '(' token
> make[3]: *** [connections.o] Error 1
> 
> here is the whole build log :http://bpaste.net/show/39955/
> any idea?
> 

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



> i've *walked* back the versions down to 2.14.1 and i still get exact same
> error msg.
> there are some patches applied but none of them touches connections.c, i
> think. in any case i can provide the patches if need be.
> 
> thanks
> 
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
> 
> 



[Rd] compile fails with x86_64-alpine-linux-uclibc-gcc
Simon Urbanek