[R] Redhat compilers and lme4 with R-2.4.0

Prof Brian Ripley ripley at stats.ox.ac.uk
Wed Oct 18 12:31:50 CEST 2006


On Wed, 18 Oct 2006, Alfonso M Sanchez-Lafuente wrote:

>
>>> I've tried unsuccessfully to install lme4 on two different Redhat
>>> systems but I've not noticed anything on this list to indicate anyone
>>> else has had similar problems.
>
> I am also having problems installing the latest lme4 0.9975-6 on 2.4.0
> in Fedora Core 5.
> The output is the following (sorry, it's in Spanish, but I think it can
> be easlily understood because the messages are very simple).

Not surprising: you have not compiled R with -std=gnu99 to allow C99 
features, as recommended in the R-admin manual, and selected by default. 
(Comment to Doug Bates: it is probably better still to write in C90 if you 
can.)

This seems to be a problem with the flags used to build the FC5 RPMs.
I think you can circumvent it by adding

PKG_CFLAGS=-std=gnu99

to lme4/src/Makevars.



>
>
> --------cut--------
>
> * Installing *source* package 'lme4' ...
> ** libs
> gcc -I/usr/lib/R/include -I/usr/lib/R/include  -I/usr/local/include
> -I"/usr/lib/R/library/Matrix/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 -c glmer.c -o glmer.o
> In file included from lmer.h:4,
>                  from glmer.h:4,
>                  from glmer.c:1:
> lme4_utils.h: En la función ?internal_symmetrize?:
> lme4_utils.h:82: error: se usó la declaración inicial del ciclo ?for?
> fuera del modo C99
> lme4_utils.h:83: error: se usó la declaración inicial del ciclo ?for?
> fuera del modo C99
> lme4_utils.h: En la función ?internal_make_named?:
> lme4_utils.h:105: error: se usó la declaración inicial del ciclo ?for?
> fuera del modo C99
> lme4_utils.h: En la función ?internal_getElement?:
> lme4_utils.h:124: error: se usó la declaración inicial del ciclo ?for?
> fuera del modo C99
> glmer.c: En la función ?random_effects_deviance?:
> glmer.c:433: error: se usó la declaración inicial del ciclo ?for? fuera
> del modo C99
> glmer.c: En la función ?glmer_init?:
> glmer.c:583: error: se usó la declaración inicial del ciclo ?for? fuera
> del modo C99
> make: *** [glmer.o] Error 1
> ERROR: compilation failed for package 'lme4'
> ** Removing '/usr/lib/R/library/lme4'
> ** Restoring previous '/usr/lib/R/library/lme4'
> Warning message:
> installation of package 'lme4' had non-zero exit status in:
> install.packages(update[, "Package"], instlib, contriburl = contriburl,
>
>

-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595


More information about the R-help mailing list