[Rd] Checking package on Windows (and seemingly irreproducible errors in CRAN checks)

Carlos J. Gil Bellosta cgb at datanalytics.com
Thu Jul 30 19:07:07 CEST 2009


Hello,

The issue is no longer an issue concerning my package as I have
changed the part that drives the error (for unrelated reasons).

It is true that I might have done a greater effort to make the package
fully cross-platform. I did R-CMD-checks on Unbuntu and CentOS but
never on Windows. But I did install the package on Windows and
successfully run, among other, the examples that fail on CRAN servers.

What makes me curious about Windows is how can it be that the checks
pass on some machines (r-forge´s) but fail on CRAN´s. If there were
any blunt violation of cross-platform implementation practices, all
Windows checks would fail. However, some succeed.

Perhaps this is an idle intellectual exercise. But one can probably
ask himself the following two questions:

1) If I R-CMD-check my package on _my_ Windows box, how can I be sure
that the check will also succeed in other Windows box?

2) Is there any lesson to learn concerning cross-platform
implementation to learn from this case (there seems to be and I am
learning it, by the way).

Best regards and thank you for your comments on this issue.

Carlos J. Gil Bellosta
http://www.datanalytics.com


2009/7/30 Simon Urbanek <simon.urbanek at r-project.org>:
>
> On Jul 30, 2009, at 7:33 , Carlos J. Gil Bellosta wrote:
>
>> Dear Uwe,
>>
>> The thing that I find funny is that the check of the package on
>> Windows for R 2.10.x works on r-forge as you can see here:
>>
>>
>> http://r-forge.r-project.org/R/?group_id=426&log=check_x86_32_windows&pkg=colbycol&flavor=devel
>>
>> May I be facing some kind of Windows configuration specific issue
>> here? I am sorry that I am very Windows-illiterate...
>>
>
> Just from the plain output I suspect that the problem is handling of paths
> in the 3rd party system used (Python) is different from R's on Windows and
> the package author is not converting them properly. It seems as if Python is
> trying to use the path 'd:/temp/Rtmp1mB6qg/dir72ae2cd6' literally instead of
> using 'd:\temp\Rtmp1mB6qg\dir72ae2cd6'. I'm a bit surprised, because Java
> does the right thing: System.out.println("'"+(new File("z:/foo/bar"))+"'");
> will print correctly 'z:\foo\bar'.
>
> I would suspect that the difference between R-Forge and CRAN may probably be
> just the setting of TMP/TEMP... [just a guess ;)]
>
> Cheers,
> Simon
>
>
>> This is not something that worries me much "per se", as I am implementing
>> some changes in the package and the new version does not resemble the
>> current one too much, but intrigues me quite a lot.
>>
>> Best regards,
>>
>> Carlos J. Gil Bellosta
>> http://www.datanalytics.com
>>
>>
>> 2009/7/29 Uwe Ligges <ligges at statistik.tu-dortmund.de>:
>>>
>>>
>>> Mathieu Ribatet wrote:
>>>>
>>>> Dear Carlos,
>>>>
>>>>> From your check results:
>>>>
>>>>       cbc.data <- cbc.read.table( system.file("data",
>>>>       "cbc.test.data.txt", package = "colbycol"), sep = "\t" )
>>>>               Warning in file(file, "r") :
>>>>               cannot open file '0001': No such file or directory
>>>>       I think you're trying to read the file "cbc.test.data.txt" located
>>>> in
>>>> the folder "data" of your package skeleton. Is that right? If so, maybe
>>>> using
>>>>
>>>>       paste(system.file(package = "colbycol"),
>>>>       "data/cbc.test.data.txt", sep="/")
>>>>       will solve your issue - although I didn't try.
>>>
>>>
>>> It won't slve it, because reading that file works, but reading file
>>> "0001"
>>> does ot which is handled within cbc.read.table() in the lines
>>>
>>> ....
>>>  for( column in names(columns) ){
>>>       tmp <- read.table( columns[[column]]$filename, sep = sep,
>>> na.strings
>>> = "", comment.char = "", quote = "", header = FALSE, ... )[,1]
>>> ....
>>>
>>>
>>> I guess the problem happens before during the Java stuff where the 0001
>>> file
>>> is never created (at least not in the location you expect).
>>>
>>>
>>> On the console I see error messages like
>>>
>>>
>>> Exception in thread "main" Traceback (most recent call last):
>>>  File "d:/temp/colbycol/python/colbycol.py", line 6, in <module>
>>>   os.chdir( work_dir )
>>>  File "D:\RCompile\CRANpkg\lib\2.9\rSymPy\jython\Lib\os.py", line 261, in
>>> chdir
>>>   raise OSError(errno.ENOENT, strerror(errno.ENOENT), path)
>>> OSError: [Errno 2] No such file or directory:
>>> 'd:/temp/Rtmp1mB6qg/dir72ae2cd6'
>>>
>>>
>>> Best,
>>> Uwe Ligges
>>>
>>>
>>
>> ______________________________________________
>> R-devel at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>
>>
>
>



More information about the R-devel mailing list