# [Rd] problem with vignettes when S4 classes in packages overlap

Paul Gilbert pgilbert902 at gmail.com
Wed Sep 19 01:56:23 CEST 2012


On 12-09-18 07:23 PM, Duncan Murdoch wrote:
> On 12-09-18 5:40 PM, Paul Gilbert wrote:
>>
>> ( A similar problem is also reported by Sebastian P. Luque with
>>     library(maptools)
>>     library(trip)
>> in the vignette as below ).
>>
>> I am writing a vignette which loads RMySQL and RPostgreSQL. This
>> produces the warning:
>>
>> Warning in .simpleDuplicateClass(def, prev) :
>>     A specification for class “dbObjectId” in package ‘RPostgreSQL’ seems
>> equivalent to one from package ‘RMySQL’ and is not turning on duplicate
>> class definitions for this class
>>
>> This can be reproduced by running
>>     R CMD Sweave --pdf Atest.Stex
>>
>> where the file Atest.Stex has the lines
>>
>> \documentclass{article}
>> \usepackage{Sweave}
>> \begin{document}
>> \begin{Scode}
>> library("RMySQL")
>> library("RPostgreSQL")
>> \end{Scode}
>> \end{document}
>>
>> These warnings only happen in a vignette. They are not produced if the
>> lines are entered in an R session.
>>
>> (Using R version 2.15.1 (2012-06-22) -- "Roasted Marshmallows" on Ubunt
>
> You'll get the warning in a regular session if you set options(warn=1).
>   I think Sweave is probably doing this so that warnings show up around
> the time of the chunk they correspond to.  It does it in the command
> line version, but not in the Sweave() function (which would save them up
> to the end).
>
> I don't know if the warning is something you should worry about or not.

It doesn't interfere with producing the vignette, but for submitting to
CRAN it is better not to have warnings coming from my package, even
though they are caused by a problem with other packages. Now that I know
why it only happens in the vignette, I guess I can suppress it (but it
would be nice to see the other packages fixed).

Thanks,
Paul
>
> Duncan Murdoch