Skip to content

[Bioc-devel] SV4Vectors installation problem

6 messages · Marcin Cieślik, Martin Morgan, Michael Lawrence +1 more

#
Dear Bioconductors,

Somewhere in August S4Vectors stopped installing correctly resulting in a:

Creating a generic function for ?nchar? from package ?base? in package
?S4Vectors?

message (that cannot be suppressed) each time the package is loaded. The
issue is not fixed by a fresh reinstall of bioconductor. The first hint of
the problem appears during installation

http://pastebin.com/UpKdeNTH

It appears I am not the only one affected a search reveals many instances:

e.g.
https://rpubs.com/Pazz/advanced_annotation
http://bioc.ism.ac.jp/packages/checkResults/3.1/bioc-LATEST/S4Vectors/petty-install.html
http://biocluster.ucr.edu/~rkaundal/R_sep2015/Rrnaseq/RNAseq.html

Thanks a lot for your work! If needed I can provide  a Docker image that
reproduces the problem.

Yours,
Marcin
#
you're right that this is a message and that it cannot be suppressed, but the package still functions correctly, right?

The problem was introduced by a change in R. The above is a work-around. The permanent solution is now to use the current version of R (3.2.2) and Bioc (3.2). The specific commit was

------------------------------------------------------------------------
r106498 | mtmorgan at fhcrc.org | 2015-07-16 15:10:40 -0400 (Thu, 16 Jul 2015) | 5 lines

define nchar,Rle-method in .onLoad

- work-around consequences of changed base::nchar signature for
  3.2.1 binary builds used in 3.2.0

------------------------------------------------------------------------

some related / belated discussion is at

https://stat.ethz.ch/pipermail/r-devel/2015-October/071841.html

Martin
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.
#
Tangentially related, it seems like nchar is worth defining in
BiocGenerics, with a signature of "x". I saw that Biostrings uses "type",
but I'm not sure why. But if we're just going to use the signature of 'x',
I can make nchar dispatch internally, so we don't need an R-level generic.
Will that work?

Michael

On Thu, Oct 15, 2015 at 5:19 AM, Morgan, Martin <
Martin.Morgan at roswellpark.org> wrote:

            

  
  
#
Hi Michael,
On 10/15/2015 10:08 AM, Michael Lawrence wrote:
The 2 "nchar" methods that dispatch on the 'type' argument are from
the Biostrings 1 era (> 9 years old) and were kept in the 
Biostrings/Biostrings1/ folder for legacy only (this code doesn't
get evaluated, not even installed). That reminds me that it's probably
time to get rid of all that stuff.
If by "make nchar dispatch internally" you mean "turn nchar() into a
primitive in R", like, say, length(), names(), dim(), dimnames(), `[`,
etc... then works for me.

Thanks,
H.

  
    
#
On Thu, Oct 15, 2015 at 11:04 PM, Herv? Pag?s <hpages at fredhutch.org> wrote:

            
Essentially, yes. I've modified the methods package to support internal
dispatch within .Internal() calls. So no need to make it a primitive. Will
move ahead, thanks.

  
  
#
Dear All,

I can confirm that the issue is fixed in the latest BioC / R versions.

Thanks a lot.

Yours,
Marcin





On Fri, Oct 16, 2015 at 7:09 AM, Michael Lawrence <lawrence.michael at gene.com