>>>>> "Andrew" == Andrew Robinson <A.Robinson@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> ... 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: 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: *** [library] Error 2
Andrew> I am running:
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
Andrew> R version 2.2.1, 2005-12-20, i386-unknown-freebsd6.0
Andrew> attached base packages: Andrew>  "methods" "stats" "graphics" "grDevices" "utils" "datasets" Andrew>  "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
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 )
Martin Maechler, ETH Zurich
This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:41:59 EST