Thank you Brian,
for this detailed answer. I think you are right with the new rules.
Before contacting the maintainers I will try to collect some more
information about the observed failure. Without setting the environment
variable MAKE to gmake, I get excatly the same break when installing
Matrix under R-2.8.1. So I can test it under 2.8.1.
Rainer
On 11.01.2009 23:42 (UTC+1), Prof Brian Ripley wrote:
You need to take this up with the package maintainers: although
recommended packages are distributed with R, they are still contributed
packages with separate maintainers.
At one point Matrix did work with a non-GNU make (the Solaris one) after
suggestions from R-core members on how to remove the obvious GNUisms.
It would cetainly be helpful to let the package maintainers know what
changes do work. (I presume the issue is
amd_i_%.o: amd_%.c $(INC)
$(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) -I../Include -DDINT -c $< -o $@
amd_l_%.o: amd_%.c $(INC)
$(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) -I../Include -DDLONG -c $<
-o $@
which are new rules since I was able to test.)
Unfortunately I can no longer build Matrix (and hence R-devel) on
Solaris, as the Sun Studio compilers say some of the C++ code is invalid
(and it looks so to me, and I reported it a while back): the file is
spqr_front.cpp, so it has not got as far as the point that is giving you
trouble.
On Sun, 11 Jan 2009, Rainer Hurling wrote:
Dear developers,
today I tried to build and install R-devel_2009-01-10 on FreeBSD
8.0-CURRENT (i386) for testing purposes.
All went well until compiling the now recommended (integrated) Matrix
package. At this point the following break occured:
------------------------------------------------
begin installing recommended package Matrix
* Installing *source* package 'Matrix' ...
** libs
gcc -std=gnu99 -I/usr/local/R-devel/include -I./UFconfig
-I/usr/local/include -fpic -g -O2 -c CHMfactor.c -o CHMfactor.o
[..snip..]
gcc -std=gnu99 -I/usr/local/R-devel/include -I../Include
-I../../UFconfig -I/usr/local/include -fpic -g -O2 -c
colamd_global.c -o colamd_global.o
gcc -std=gnu99 -I/usr/local/R-devel/include -I../Include
-I../../UFconfig -I/usr/local/include -fpic -g -O2 -I../Include
-DDLONG -c colamd.c -o colamd_l.o
ar -rucs ../../COLAMD.a colamd_global.o colamd_l.o # colamd.o
( cd Source ; make lib )
gcc -std=gnu99 -I/usr/local/R-devel/include -I../Include
-I../../UFconfig -I/usr/local/include -fpic -g -O2 -c amd_global.c
-o amd_global.o
make: don't know how to make amd_l_1.o. Stop
*** Error code 2
Stop in /tmp/Rtmpx5nUS8/R.INSTALL10d63af1/Matrix/src/AMD.
*** Error code 1
Stop in /tmp/Rtmpx5nUS8/R.INSTALL10d63af1/Matrix/src.
ERROR: compilation failed for package 'Matrix'
* Removing '/usr/local/R-devel/library/Matrix'
*** Error code 1
Stop in /usr/local/R-devel/src/library/Recommended.
*** Error code 1
Stop in /usr/local/R-devel/src/library/Recommended.
*** Error code 1
Stop in /usr/local/R-devel.
------------------------------------------------
Please note, that on FreeBSD there is a BSD 'make' as default. If I
want to use gmake instead, I explicitly have to set it. Unfortunately
this does not work within building the whole R-devel system.
It would be helpful to know why not. AFAIK GNU make works on other
platforms with their own make.
With R-2.8.1 I have no problems installing and using R. When I want to
build the (external) Matrix package I have to set an environment
variable to gmake, found at /usr/local/bin/gmake and all works well.
Now my question: Is it possible to change the configure/build of the
integrated Matrix package on R-devel? For all other packages there is
no need to do so (at least for FreeBSD ;-)
Please let me know if I can help.
Thanks in advance,
Rainer Hurling
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel