[R] Problem with making Matrix
Martin Maechler
maechler at stat.math.ethz.ch
Wed Jan 11 11:53:23 CET 2006
>>>>> "Andrew" == Andrew Robinson <A.Robinson at ms.unimelb.edu.au>
>>>>> on Wed, 11 Jan 2006 14:12:11 +1100 writes:
Andrew> Hi R-help citizens,
Andrew> I'm having trouble making version 0.99-6 of Matrix on FreeBSD 6.0.
Andrew> The error message is:
Andrew> * Installing *source* package 'Matrix' ...
Andrew> ** libs
Andrew> gcc -I/usr/local/lib/R/include -I/usr/local/include -D__NO_MATH_INLINES -fPIC -g -O2 -c Csparse.c -o Csparse.o
Andrew> ... numerous lines deleted ...
Andrew> gcc -I/usr/local/lib/R/include -I/usr/local/include -D__NO_MATH_INLINES -fPIC -g -O2 -c triplet_to_col.c -o triplet_to_col.o
Andrew> f77 -fPIC -g -O2 -c zpotf2.f -o zpotf2.o
Andrew> f77 -fPIC -g -O2 -c zpotrf.f -o zpotrf.o
Andrew> touch CHOLMOD.stamp UMFPACK.stamp COLAMD.stamp CCOLAMD.stamp AMD.stamp Metis.stamp LDL.stamp
Andrew> gmake[1]: Entering directory `/tmp/R.INSTALL.WMODs1/Matrix/src/CHOLMOD'
Andrew> ( cd Lib ; make )
Andrew> make: don't know how to make w. Stop
Andrew> gmake[1]: *** [library] Error 2
Andrew> I am running:
>> version
Andrew> _
Andrew> platform i386-unknown-freebsd6.0
Andrew> arch i386
Andrew> os freebsd6.0
Andrew> system i386, freebsd6.0
Andrew> status
Andrew> major 2
Andrew> minor 2.1
Andrew> year 2005
Andrew> month 12
Andrew> day 20
Andrew> svn rev 36812
Andrew> language R
>> sessionInfo()
Andrew> R version 2.2.1, 2005-12-20, i386-unknown-freebsd6.0
Andrew> attached base packages:
Andrew> [1] "methods" "stats" "graphics" "grDevices" "utils" "datasets"
Andrew> [7] "base"
Andrew> NB I was able to install Matrix 0.98-7 using the FreeBSD make without any
Andrew> problem.
Yes, 0.98-7 did not have the new CHOLMOD soureces yet.
Andrew> problem. If I try to make version 0.99-6 using the FreeBSD make then
Andrew> it fails with "Missing dependency operator" errors.
Andrew> Does anyone have any suggestions?
It could be that in FreeBSD behaves differently from GNU make
and there's something GNU specific in one of the various 'Makefile's...
Ahh, yes, I think I have good guess:
The src/CHOLMOD/Makefile has explicit calls to 'make' as in
>> # Compile the C-callable libraries and the Demo programs.
>> all:
>> ( cd Lib ; make )
but from the error message above I see you are using 'gmake'
which I assume is an alias for GNU make.
Of course the explicit 'make' in these Makefiles is "bad" --
We (the Matrix authors) may be excused by the fact that it is
"not our code" and we tried to change as little as possible
in order to facilitate updates (when new versions of the
"upstream" CHOLMOD code would come about).
Can you try and replace 'make' by '$(MAKE)' in the following
three places, and see if it works
possibly after writing (in your shell)
export MAKE=gmake
or setenv MAKE gmake
(depending on the kind of shell you have)
?
AMD/Makefile: ( cd Source ; $(MAKE) lib )
AMD/Makefile: ( cd Source ; $(MAKE) clean )
CHOLMOD/Makefile: ( cd Lib ; $(MAKE) )
CHOLMOD/Makefile: ( cd Lib ; $(MAKE) )
CHOLMOD/Makefile: ( cd Lib ; $(MAKE) purge )
CHOLMOD/Makefile: ( cd Lib ; $(MAKE) clean )
UMFPACK/Makefile: ( cd Source ; $(MAKE) lib )
UMFPACK/Makefile: ( cd Source ; $(MAKE) clean )
Regards,
Martin Maechler, ETH Zurich
More information about the R-help
mailing list