Re: [R] Compilation failures: mgcv, spatstat, Matrix, cluster

From: Douglas Bates <dmbates_at_gmail.com>
Date: Tue 16 Aug 2005 - 04:02:46 EST

On 8/13/05, Paul Roebuck <roebuck@odin.mdacc.tmc.edu> wrote:
> On Sat, 13 Aug 2005, Michael Kubovy wrote:
>
> > With Version 2.1.1 (2005-06-20) on Power Mac G5 running Mac OS X
> > 10.4.2 (8C46):
> >
> > Some compilations work (e.g., MatchIt, RGraphics, Zelig), and some
> > don't, e.g., mgcv, spatstat, and the following (Matrix, cluster):
> >
> > trying URL 'http://www.ibiblio.org/pub/languages/R/CRAN/src/contrib/
> > Matrix_0.98-3.tar.gz'
> > Content type 'application/x-tar' length 626712 bytes
> > opened URL
> > ==================================================
> > downloaded 612Kb
> >
> > * Installing *source* package 'Matrix' ...
> > ** libs
> >
> > The downloaded packages are in
> > /private/tmp/RtmpPddsAE/downloaded_packages
> > gcc-3.3 -no-cpp-precomp -I/Library/Frameworks/R.framework/Resources/
> > include -I/usr/local/include -I./Metis -fno-common -g -O2 -c
> > HBMM.c -o HBMM.o
> > In file included from HBMM.c:2:
> > iohb.h:6:19: malloc.h: No such file or directory
> > make: *** [HBMM.o] Error 1
> > ERROR: compilation failed for package 'Matrix'
>
> Didn't check package for actually functioning correctly,
> but the following changes will allow compilation on OS X
> 10.3. In ANSI C, the standard memory allocation routines
> are declared in <stdlib.h>; <malloc.h> is obsolete for that
> purpose and isn't guaranteed to exist.
>
>
> Matrix/src/mmio.c:
> Add #include <stdlib.h>
> Remove #include <malloc.h>
>
> Matrix/src/iohb.h:
> Remove #include <malloc.h>

Thanks for the suggestion, Paul. I wasn't quite as sloppy as it may seem. I recently introduced the iohb.[hc] and mmio.[hc] files from NIST into the Matrix package but I didn't check them thoroughly before doing so. I should have. Those are not the only antiquated C constructs in those files. The author of iohb.c also assumes that he can pass a string constant to a function that modifies the contents of that argument and, of course, gcc will produce code that segfaults at that point if you do not use -fwriteable-strings and we don't want to do that.



R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Tue Aug 16 04:14:19 2005

This archive was generated by hypermail 2.1.8 : Sun 23 Oct 2005 - 15:21:17 EST