Skip to content

Compilation failures: mgcv, spatstat, Matrix, cluster

3 messages · Michael Kubovy, Paul Roebuck, Douglas Bates

#
Please cc me when replying to the list.

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'

trying URL 'http://www.ibiblio.org/pub/languages/R/CRAN/src/contrib/ 
cluster_1.10.1.tar.gz'
Content type 'application/x-tar' length 190975 bytes
opened URL
==================================================
downloaded 186Kb

* Installing *source* package 'cluster' ...
** libs
gcc-3.3 -no-cpp-precomp -I/Library/Frameworks/R.framework/Resources/ 
include  -I/usr/local/include   -fno-common  -g -O2 -c clara.c -o  
clara.o
g77   -fno-common  -g -O2 -c daisy.f -o daisy.o
g77   -fno-common  -g -O2 -c dysta.f -o dysta.o
g77   -fno-common  -g -O2 -c fanny.f -o fanny.o
g77   -fno-common  -g -O2 -c meet.f -o meet.o
g77   -fno-common  -g -O2 -c mona.f -o mona.o
gcc-3.3 -no-cpp-precomp -I/Library/Frameworks/R.framework/Resources/ 
include  -I/usr/local/include   -fno-common  -g -O2 -c pam.c -o pam.o
gcc-3.3 -no-cpp-precomp -I/Library/Frameworks/R.framework/Resources/ 
include  -I/usr/local/include   -fno-common  -g -O2 -c spannel.c -o  
spannel.o
g77   -fno-common  -g -O2 -c twins.f -o twins.o

The downloaded packages are in
     /private/tmp/RtmpPddsAE/downloaded_packages
gcc-3.3 -bundle -flat_namespace -undefined suppress -L/usr/local/lib - 
o cluster.so clara.o daisy.o dysta.o fanny.o meet.o mona.o pam.o  
spannel.o twins.o  -L/usr/local/lib/gcc/powerpc-apple-darwin6.8/3.4.2  
-lg2c -lSystem -framework R
** Removing '/Library/Frameworks/R.framework/Versions/2.1.1/Resources/ 
library/cluster'
** Restoring previous '/Library/Frameworks/R.framework/Versions/2.1.1/ 
Resources/library/cluster'
ld: clara.o has external relocation entries in non-writable section  
(__TEXT,__text) for symbols:
restFP
saveFP
make: *** [cluster.so] Error 1
ERROR: compilation failed for package 'cluster'



_____________________________
Professor Michael Kubovy
University of Virginia
Department of Psychology
USPS:     P.O.Box 400400    Charlottesville, VA 22904-4400
Parcels:    Room 102        Gilmer Hall
         McCormick Road    Charlottesville, VA 22903
Office:    B011    +1-434-982-4729
Lab:        B019    +1-434-982-4751
Fax:        +1-434-982-4766
WWW:    http://www.people.virginia.edu/~mk9y/
#
On Sat, 13 Aug 2005, Michael Kubovy wrote:

            
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>

----------------------------------------------------------
SIGSIG -- signature too long (core dumped)
1 day later
#
On 8/13/05, Paul Roebuck <roebuck at odin.mdacc.tmc.edu> wrote:
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.