From pdalgd at gmail.com  Thu Apr  6 16:57:25 2017
From: pdalgd at gmail.com (peter dalgaard)
Date: Thu, 6 Apr 2017 16:57:25 +0200
Subject: [Rd] failure of make check-all
In-Reply-To: <47cabe$6636cb@ironport10.mayo.edu>
References: <47cabe$662clt@ironport10.mayo.edu>
 <E86596A7-C098-411A-AB0B-2A37EF64D9BF@gmail.com>
 <47cabe$6636cb@ironport10.mayo.edu>
Message-ID: <6F88072C-1F93-4BD0-8982-FF99B542451F@gmail.com>


> On 6 Apr 2017, at 15:51 , Therneau, Terry M., Ph.D. <therneau at mayo.edu> wrote:
> 
> Peter,
>  Retry how much of it?  That is, where does it go in the sequence from svn up to make check?  I'll update my notes so as to do it correctly.


From the configure step, I'd expect.

Actually, now that I look at your output again, you seem to be compiling in the source directory, which is generally a bad idea, because you end up with derived files intermixed with source code all over the place. If you compile in a parallel directory, then you can in the worst case just wipe it and start over. Also, compiling in the source dir has confused "make" on previous occasions (ideally, it should work, but most of us don't check and so are poorly motivated to track down issues). So

svn up
# mkdir ../BUILD if not there already
cd ../BUILD
../R/configure
make
...


Also, for checking the tests, I think the canonical way is 

path/to/R --vanilla < reg-examples3.R

which may be subtly different from using source().

I'd surmise that your issue is something with the C-level routine registration, but I haven't followed the technicalities of that in full detail. Did your build rebuild the survival package?

-pd

> 
> In any case, I put it first and reran the whole command chain.  I had recently upgraded linux from 14.xx LTS to 16.04 LTS so it makes sense to start over.  This removed the large diff in base-Ex.Rout from the first part of the log, but the terminal error still remains:
> 
> make[3]: Leaving directory '/usr/local/src/R-devel/tests'
> make[3]: Entering directory '/usr/local/src/R-devel/tests'
> running code in 'reg-tests-3.R' ... OK
>  comparing 'reg-tests-3.Rout' to './reg-tests-3.Rout.save' ... OK
> running code in 'reg-examples3.R' ...Makefile.common:98: recipe for target 'reg-examples3.Rout' failed
> make[3]: *** [reg-examples3.Rout] Error 1
> make[3]: Leaving directory '/usr/local/src/R-devel/tests'
> Makefile.common:273: recipe for target 'test-Reg' failed
> 
> Here are lines 97-100 of tests/Makefile.common:
> 
> .R.Rout:
>    @rm -f $@ $@.fail $@.log
>    @$(ECHO) $(ECHO_N) "running code in '$<' ...$(ECHO_C)" > $@.log
>    @$(R) < $< > $@.fail 2>&1 || (cat $@.log && rm $@.log && exit 1)
> 
> 
> There is one complier warning message, it prints in pink so as not to miss it!
> 
> main.c: In function ?dummy_ii?:
> main.c:1669:12: warning: function returns address of local variable [-Wreturn-local-addr]
>     return (uintptr_t) &ii;
> 
> -------------
> 
> So as to be more complete I did "cd tests; R" and source("reg-examples3.R"), and lo and behold the error is
> 
>> source('reg-examples3.R')
> Loading required package: MASS
> Loading required package: survival
> Error in fitter(X, Y, strats, offset, init, control, weights = weights,  :
>  object 'Ccoxmart2' not found
> 
> Looking at src/coxmart2.c and src/init.c I don't see anything different than the other dozen .C routines in my survival package.  The file tests/book7.R in the package exercises this routine, and CMD check passes.
> 
> Hints?
> 
> Terry T.
> 
> 
> 
> 
> 
> 
> On 04/06/2017 07:52 AM, peter dalgaard wrote:
>> You may want to retry that after a make distclean, in case anything changed in the toolchain.
>> 
>> -pd
>> 
> 

-- 
Peter Dalgaard, Professor,
Center for Statistics, Copenhagen Business School
Solbjerg Plads 3, 2000 Frederiksberg, Denmark
Phone: (+45)38153501
Office: A 4.23
Email: pd.mes at cbs.dk  Priv: PDalgd at gmail.com



[Rd] failure of make check-all
peter dalgaard