From hin-tak.leung at cimr.cam.ac.uk  Mon Apr  2 19:04:43 2007
From: hin-tak.leung at cimr.cam.ac.uk (Hin-Tak Leung)
Date: Mon, 02 Apr 2007 18:04:43 +0100
Subject: [Rd] Matrix package: compilation error
In-Reply-To: <4611358F.2060102@gwdg.de>
References: <460E9470.1010307@gwdg.de>	<Pine.LNX.4.64.0703311859120.15900@gannet.stats.ox.ac.uk>
	<460EC045.4050205@gwdg.de> <4610F956.2090309@cimr.cam.ac.uk>
	<4611358F.2060102@gwdg.de>
Message-ID: <461137AB.8000009@cimr.cam.ac.uk>

Rainer Hurling wrote:
> Thank you Hin-Tak Leung,
> 
> on Saturday, 31th, Brian Ripley and Martin Maechler showed me the use of 
> gmake without linking make against gmake:
> 
>   setenv MAKE gmake
>   R CMD INSTALL Matrix_0.9975-11.tar.gz
>   unsetenv MAKE
>   R CMD INSTALL spdep_0.4-2.tar.gz
> 
> Everything works fine now. However, on my wishlist is a general way to 
> integrate "the search for gmake on systems like FreeBSD" in the 
> configure script of packages like Matrix ... ;-)

Hmm, you are using a csh-like shell. Just replace the "export" statement 
below with the equivalent setenv statement:
     setenv PATH ${HOME}/mynewbin:${PATH}

The PATH trick is also a useful thing to do if you have say,
multiple java JDK's, or other things.

> Hin-Tak Leung schrieb:
>> Rainer Hurling wrote:
>>> Thanks, Brian and Martin,
>>>
>>> I think you are both right, Matrix tries to use BSD make 
>>> (/usr/bin/make) on FreeBSD instead of GNU make (/usr/local/bin/gmake).
>>>
>>> Sorry, but I don't know how to persuade the configure script to use 
>>> gmake :-(
>>
>> easy -
>>
>> mkdir ~/mynewbin
>> ln -s /usr/local/bin/gmake ~/mynewbin/make
>> export PATH=${HOME}/mynewbin:${PATH}
>>
>> Then run "R CMD INSTALL ..." as you did.
>>
>> and afterwards, "rm -rf ~/mynewbin". (I hope I don't need to explain
>> what the 3 lines above do...)
>>
>> HTL
>>
>>
>>>
>>> Rainer
>>>
>>>
>>> Prof Brian Ripley schrieb:
>>>> This is because of the GNUism in Matrix/src/Makefile
>>>>
>>>> ## get rid of this, once we have 'Depends: R (>= 2.5.0)':
>>>> ifeq (, $(findstring -lRlapack, $(LAPACK_LIBS)))
>>>> SOURCES_LAPACK =
>>>> else
>>>> SOURCES_LAPACK = zpotf2.f zpotrf.f zlacgv.f
>>>> endif
>>>>
>>>> I guess you know what you need to do to fix it for BSD make?
>>>>
>>>> On Sat, 31 Mar 2007, Rainer Hurling wrote:
>>>>
>>>>> Trying to compile the package Matrix_0.9975-11.tar.gz with newest
>>>>> R-2.5.0 alpha (2007-03-31 r40986) on FreeBSD 7.0-CURRENT (i386) I get
>>>>> the following error:
>>>>>
>>>>> -----
>>>>> R CMD INSTALL Matrix_0.9975-11.tar.gz
>>>>> * Installing to library '/usr/local/lib/R/library'
>>>>> * Installing *source* package 'Matrix' ...
>>>>> ** libs
>>>>> ** arch -
>>>>> "Makefile", line 10: Missing dependency operator
>>>>> "Makefile", line 12: Need an operator
>>>>> "Makefile", line 14: Need an operator
>>>>> make: fatal errors encountered -- cannot continue
>>>>> ERROR: compilation failed for package 'Matrix'
>>>>> ** Removing '/usr/local/lib/R/library/Matrix'
>>>>> -----
>>>>>
>>>>>
>>>>> Under FreeBSD I have installed the LAPACK package (3.0.2) with library
>>>>> at location
>>>>>
>>>>> /usr/local/lib/liblapack.so.4
>>>>>
>>>>> Is it possible that the Makefile of package Matrix fails because of 
>>>>> that?
>>>> Not used unless you asked for it during R's configure.
>>>>
>>>
>>> ______________________________________________
>>> R-devel at r-project.org mailing list
>>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>



[Rd] Matrix package: compilation error
Hin-Tak Leung