In R-devel I typed
news()
and noted
- The matrix multiplication functions crossprod() and tcrossprod() are now
also primitive and S3 generic,
So I wonder if this has changed the 'rules' for how to declare the import
-- previous behavior was along the lines of 'if the methods are exported,
then the generic is also (implicitly) exported' and vice versa. I'm guess
that the generic is no longer exported with the methods, which is how S3
works. If you're using the methods, then maybe
importMethodsFrom(MatrixExtra, crossprod)
if one wants to use the methods. Or, since the S4 generic crossprod is
defined in the Matrix package,
importFrom(Matrix, crossprod)
if one wants to use the S4 generic (e.g., to create a new S4 method).
This is just a guess, and it's not really clear to me whether this
behavior apparently associated with the change in crossprod to base is
intentional or accidental; a post to R-devel might be in order?
I would avoid import(MatrixExtra) on principle, but perhaps it is a last
resort.
Also I'll mention that I could reproduce the problem under R-devel, and
that changing to importMethodsFrom(MatrixExtra, crossprod) got me past this
stage (but now I also need to make a change for tcrossprod?)
Martin Morgan
*From: *Bioc-devel <bioc-devel-bounces at r-project.org> on behalf of
Zuguang Gu <jokergoo at gmail.com>
*Date: *Tuesday, January 16, 2024 at 11:49?AM
*To: *Zhigang Li <lzg2151 at gmail.com>
*Cc: *bioc-devel at r-project.org <bioc-devel at r-project.org>
*Subject: *Re: [Bioc-devel] IFAA Bioconductor
I saw MatrixExtra defines several S4 methods/dispatches for the generic
`crossprod()` which is actually defined in base.
Maybe you can import the whole MatrixExtra namespace?
import(MatrixExtra)
On Tue, 16 Jan 2024 at 16:14, Zhigang Li <lzg2151 at gmail.com> wrote:
Hi There,
It seems that the error says :
"
** byte-compile and prepare package for lazy loading
Error: object ?crossprod? is not exported by 'namespace:MatrixExtra'
"
But we checked and the package "MatrixExtra" still has the function
"crossprod". And in the NAMESPACE file, there is a row for
"importFrom(MatrixExtra,crossprod)". So we are a bit confused why this
error happened. And there was no error for the previous version. Would
bioconductorcoreteam at gmail.com> wrote:
Hello Package Maintainer,
We would like to bring to your attention that your package is failing
devel across all platforms. This is very problematic. Please
If you have further questions or concerns please reach out on the
bioc-devel at r-project.org
We appreciate your quick attention to this matter
Cheers,
On behalf of the Bioconductor Core Team
[[alternative HTML version deleted]]