Skip to content

[Bioc-devel] IFAA Bioconductor

5 messages · Ramos Perez, Marcel, Zuguang Gu, Martin Morgan +1 more

#
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 you
mind providing some advice? Thanks.

Regards,
Zhigang
https://sites.google.com/view/zlab


On Thu, Jan 11, 2024 at 10:11?AM CoreTeam Bioconductor <

  
  
#
Hi Zhigang,

AFAICT, I don't see `crossprod` as an exported symbol in `MatrixExtra`.
Did you mean Matrix:: or base:: crossprod?

Best regards,

Marcel
On 1/16/24 10:14 AM, Zhigang Li 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 you
mind providing some advice? Thanks.

Regards,
Zhigang
https://sites.google.com/view/zlab


On Thu, Jan 11, 2024 at 10:11?AM CoreTeam Bioconductor <
bioconductorcoreteam at gmail.com<mailto:bioconductorcoreteam at gmail.com>> wrote:
Hello Package Maintainer,

We would like to bring to your attention that your package is failing in
devel across all platforms. This is very problematic. Please investigate
the issues and fix the package to avoid deprecation.

https://bioconductor.org/checkResults/devel/bioc-LATEST/
<https://bioconductor.org/checkResults/3.17/workflows-LATEST/TCGAWorkflow><https://bioconductor.org/checkResults/3.17/workflows-LATEST/TCGAWorkflow>

If you have further questions or concerns please reach out on the
bioc-devel at r-project.org<mailto:bioc-devel at r-project.org>

We appreciate your quick attention to this matter

Cheers,
On behalf of the Bioconductor Core Team








_______________________________________________
Bioc-devel at r-project.org<mailto:Bioc-devel at r-project.org> mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel


---
Marcel Ramos
Bioconductor Core Team
Roswell Park Comprehensive Cancer Center
Dept. of Biostatistics & Bioinformatics
Elm St. & Carlton St.
Buffalo, New York 14263


This email message may contain legally privileged and/or confidential information.  If you are not the intended recipient(s), or the employee or agent responsible for the delivery of this message to the intended recipient(s), you are hereby notified that any disclosure, copying, distribution, or use of this email message is prohibited.  If you have received this message in error, please notify the sender immediately by e-mail and delete this email message from your computer. Thank you.
#
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:

            

  
  
#
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:

            
_______________________________________________
Bioc-devel at r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel
1 day later
#
Hi Martin,

Thanks for the explanation. We will change all related functions in
MatrixExtra to the following format:
importMethodsFrom(MatrixExtra, crossprod)

Thanks,

Zhigang
https://sites.google.com/view/zlab


On Tue, Jan 16, 2024 at 1:18?PM Martin Morgan <mtmorgan.xyz at gmail.com>
wrote: