[datatable-help] Check failures in data.table 1.6.5
Prof Brian Ripley
ripley at stats.ox.ac.uk
Thu Aug 25 11:51:12 CEST 2011
You were explicitly asked not to use a list as the maintainer address:
'Writing R Extensions' says
The mandatory `Maintainer' field should give a single name with a
valid (RFC 2822) email address in angle brackets (for sending bug
reports etc.). It should not end in a period or comma. For a public
package it should be a person, not a mailing list and not a corporate
entity: do ensure that it is valid and will remain valid for the
lifetime of the package.
Also, you don't have any control over the lifetime of R-forge mailing
lists.
This version fails on all my platforms with
Error in .Call("Rf_setAttrib", x, "sorted", cols, PACKAGE = "data.table") :
C symbol name "Rf_setAttrib" not in DLL for package "data.table"
Calls: data.table -> eval -> eval -> setkey -> .Call
Which is of course correct. It seems that on Linux when R is (not the
default) built as a shared library, the lookup mechanism leaks entry
points from libR.so. But this does not happen when R is not built as
a shared library on Linux, nor on Windows (where it is), and this will
start showing up on the CRAN check page in an hour or so.
There is no guarantee that the internal symbols are remapped, nor that
the remapping will remain unchanged (and historically it has been
changed). setAttrib is intended only to be called as such after
including the appopriate header.
You need to write a wrapper in your DLL, and call that. However, to
avoid such errors in future, I would urge you to register the symbols
in your DLL and disable search (see 'Writing R Extensions' and the
examples of most of the standard packages). This also has substantial
performance advantages.
Brian Ripley
--
Brian D. Ripley, ripley at stats.ox.ac.uk
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UK Fax: +44 1865 272595
More information about the datatable-help
mailing list