[Rd] Problem with WARNING...headers with CRLF line endings

Hervé Pagès hpages at fhcrc.org
Wed Sep 15 01:58:01 CEST 2010


On 09/14/2010 03:30 PM, Duncan Murdoch wrote:
> On 14/09/2010 6:08 PM, Hervé Pagès wrote:
>> On 09/14/2010 02:58 PM, cstrato wrote:
>>> Dear Herve,
>>>
>>> Thank you for your reply, however maybe I was not quite clear.
>>>
>>> The files xpsDict.h and xpsDict.cxx are automatically created by the
>>> ROOT framework during compilation on every architecture.
>>
>> on every architecture... ok
>> But if they are created during compilation, why do they need to be
>> included in the source tarball? They are just temporary files right?
>> Or I'm missing something...
>>
>>> This means they
>>> are created on Linux and Mac with LF line endings, but on Windows with
>>> CRLF line endings. However, they are created only if they do not already
>>> exist, and thus are not in the source tarball.
>>
>> I guess you mean they are not part of the source *tree*.
>>
>>> For testing purposes I have just added both files with LF line endings
>>> to the source tarball and compiled it on Windows w/o problems.
>>> Furthermore, the size of "xps_1.9.6.tar.gz" increases only from 4MB to
>>> 4.3MB. Thus in principle I could upload both files to SVN for BioC 2.7,
>>> and this should eliminate the warning message. What is your opinion?
>>
>> I still don't understand why you want to have them in the source
>> tarball.
>
> I think he doesn't want to put them in the source tarball, but because
> of the way R CMD check works, he may have to.
>
> It appears that R CMD check builds those files, and then checks for CRLF
> endings on all files. If it did the CRLF check first, it wouldn't see
> them and complain. The problem with this change is that some packages
> might create files with CRLF endings on all platforms, and then check
> *should* complain about them.

I see your point but, on the other hand, and more generally speaking,
you expect 'R CMD check' to check the source files i.e. the files that
belong to the source tarball, and not temporary compilation/installation
products that 'R CMD INSTALL' didn't remove (for whatever reason).

It's weird to get a message like:

   * checking line endings in C/C++/Fortran sources/headers ... WARNING
   Found the following sources/headers with CR or CRLF line endings:
     src/xpsDict.h

if there is no such file in the source tarball.

>
> My advice would be not to put them in the tarball, and ignore the
> warning. Or write a Makevars.win that fixes the line endings so that
> check is happy.

Yes and since he already uses a Makefile, it should be easy to remove
those files at the end of installation so they don't end up in the
tarball anymore. Wouldn't that also be enough to silent 'R CMD check'?
Perhaps package authors should really make sure that src/ gets
cleaned after the installation step of 'R CMD build' (this step is
performed only if the package has vignettes). Then it shouldn't matter
whether 'R CMD check' checks for CRLF endings after or before
installing the package.

Cheers,
H.

>
> Duncan Murdoch


-- 
Hervé Pagès

Program in Computational Biology
Division of Public Health Sciences
Fred Hutchinson Cancer Research Center
1100 Fairview Ave. N, M2-B876
P.O. Box 19024
Seattle, WA 98109-1024

E-mail: hpages at fhcrc.org
Phone:  (206) 667-5791
Fax:    (206) 667-1319



More information about the R-devel mailing list