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

Reply via email to