Re: [R] Problem with making Matrix

From: Martin Maechler <>
Date: Wed 11 Jan 2006 - 21:53:23 EST

>>>>> "Andrew" == Andrew Robinson <> >>>>> 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 )

Martin Maechler, ETH Zurich mailing list PLEASE do read the posting guide! Received on Wed Jan 11 23:15:37 2006

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:41:59 EST