Skip to content

[R-pkg-devel] Rd cross-references ... NOTE, Undeclared packages ... in Rd xrefs

14 messages · Ivan Krylov, Jeff Newmiller, Duncan Murdoch +2 more

#
Hello, All:


	  How do I fix "Rd cross-references ... NOTE
Undeclared packages ?EnvStats?, ?drc?, ?zoo?, ?prodlim?, ?plyr?, 
?TRAMPR?, ?raster? in Rd xrefs"?


	  This occurs with 
"https://www.r-project.org/nosvn/R.check/r-devel-linux-x86_64-fedora-clang/Ecfun-00check.html" 
and with 
"https://www.r-project.org/nosvn/R.check/r-devel-linux-x86_64-fedora-clang/Ecdat-00check.html". 
  However, this error is not raised on other platforms.  My search for 
this note produced essentially the same message for other packages but 
no advice on how to fix it.


	  These are references to other packages that I do not use in my 
packages but that some users may wish to consider.  If needed, I will 
add them to "Suggests" for the packages.  However, that seems overkill, 
because I do not use them myself.  ???


	  Thanks,
	  Spencer Graves
#
On 13/06/2022 12:12 p.m., Spencer Graves wrote:
Section 2.5 of Writing R Extensions says "Packages referred to by these 
?other forms? should be declared in the DESCRIPTION file, in the 
?Depends?, ?Imports?, ?Suggests? or ?Enhances? fields."  Of those 
fields, Suggests looks like the best fit.  You'd use Enhances if your 
package provides "methods for classes from these packages, or ways to 
handle objects from these packages".

Duncan Murdoch
#
On 6/13/22 1:26 PM, Duncan Murdoch wrote:
Thanks.  I looked at "Writing R Extensions" but could not find anything 
that seemed to fit.  I probably should have just used "Suggests" and not 
bothered this list with this issue.  Thanks again, Spencer Graves
#
On Mon, 13 Jun 2022 13:59:24 -0500
Spencer Graves <spencer.graves at effectivedefense.org> wrote:

            
Why not use the \link{foo} form and let the HTML help system resolve
the link at run time? Is it considered bad form to use unqualified
links to help pages in other packages?
#
I think the issue with dependencies arises because if this very usage.

Given how weak the relationship is with these packages, why not just omit links at all and just mention the packages by name?
On June 13, 2022 12:22:04 PM PDT, Ivan Krylov <krylov.r00t at gmail.com> wrote:

  
    
#
On 6/13/22 2:22 PM, Ivan Krylov wrote:
The problem is that \link{foo} cannot distinguish between 
\link[a]{foo} and \link[b]{foo}.  Using "Suggests" sounds to me more 
like how how the R Core and CRAN teams probably think the system should 
work.


	  But Duncan or someone else may think differently.


	  Thanks, Spencer
#
On 13/06/2022 3:22 p.m., Ivan Krylov wrote:
That leads to a warning like this:

     * checking Rd cross-references ... WARNING
     Missing link or links in documentation object 'foo.Rd':
       ?bar?

     See section 'Cross-references' in the 'Writing R Extensions' manual.

and if the package isn't installed, the HTML page gives

     No help found for topic bar in any package.

I think the warning is enough to stop CRAN acceptance.

Duncan Murdoch
#
On 6/13/22 1:26 PM, Duncan Murdoch wrote:
GitHub Actions failed after I added those packages to Suggests:


https://github.com/sbgraves237/Ecfun/runs/6869516417?check_suite_focus=true


	  Suggestions?
	  Thanks,
	  Spencer
#
On 13/06/2022 5:11 p.m., Spencer Graves wrote:
That log doesn't really give much info about what went wrong.  Maybe 
some of the packages in the Suggests list weren't available?

Duncan Murdoch
#
On 6/13/22 5:05 PM, Duncan Murdoch wrote:
Is there a way in GitHub Action to NOT fail when a package is not 
available -- or at least to give a more useful diagnostic?


	  There probably is, but I don't know how to find the right manual to 
read nor any better place to ask for help with that than here.


	  Thanks, sg
#
On 13/06/2022 7:01 p.m., Spencer Graves wrote:
Your DESCRIPTION file has a blank line after the list of Suggests 
packages, and that caused dev_package_deps() to die with the error you saw.

I think the blank line is illegal in a DESCRIPTION file:  in the DCF 
format, that separates blocks, and everything is supposed to be in one 
block.  But remotes::dev_package_deps() could perhaps give a more 
informative message, as R CMD INSTALL does.

Duncan Murdoch
#
On 13/06/2022 7:01 p.m., Spencer Graves wrote:
[ lots deleted ]
I don't know the answer to that, but in this case, I'm pretty sure 
Github Actions couldn't be more helpful, because the error message was 
coming from R in these lines in your Github script:

           install.packages('remotes')
           saveRDS(remotes::dev_package_deps(dependencies = TRUE), 
".github/depends.Rds", version = 2)
           writeLines(sprintf("R-%i.%i", getRversion()$major, 
getRversion()$minor), ".github/R-version")

I have the same lines in my script, so I suspect you copied these from 
another package, as I did.

To diagnose that kind of error, just start a clean R session, set the 
working directory to your package directory, and try to execute them. 
You'll see the same error message as your Github action got.  Then you 
can debug that the way you debug any other R error message:

- Break it up into separate pieces, and discover it happens in 
remotes::dev_package_deps(dependencies = TRUE)

- Run debug(remotes::dev_package_deps), and run just that one command, 
tracing through until you can isolate the issue.
Duncan Murdoch
#
On 14/06/2022 01:01, Spencer Graves wrote:
>
 >
> On 6/13/22 5:05 PM, Duncan Murdoch wrote:
>> On 13/06/2022 5:11 p.m., Spencer Graves wrote:
>>>
 >>>
>>> On 6/13/22 1:26 PM, Duncan Murdoch wrote:
>>>> On 13/06/2022 12:12 p.m., Spencer Graves wrote:
>>>>> Hello, All:
 >>>>>
 >>>>>
 >>>>>        How do I fix "Rd cross-references ... NOTE
 >>>>> Undeclared packages ?EnvStats?, ?drc?, ?zoo?, ?prodlim?, ?plyr?,
 >>>>> ?TRAMPR?, ?raster? in Rd xrefs"?
 >>>>>
 >>>>>
 >>>>>        This occurs with
 >>>>> 
"https://www.r-project.org/nosvn/R.check/r-devel-linux-x86_64-fedora-clang/Ecfun-00check.html"
 >>>>>
 >>>>> and with
 >>>>> 
"https://www.r-project.org/nosvn/R.check/r-devel-linux-x86_64-fedora-clang/Ecdat-00check.html".
 >>>>>
 >>>>>     However, this error is not raised on other platforms.  My 
search for
 >>>>> this note produced essentially the same message for other 
packages but
 >>>>> no advice on how to fix it.
 >>>>>
 >>>>>
 >>>>>        These are references to other packages that I do not use in my
 >>>>> packages but that some users may wish to consider.  If needed, I will
 >>>>> add them to "Suggests" for the packages.  However, that seems 
overkill,
 >>>>> because I do not use them myself.  ???
 >>>>
 >>>> Section 2.5 of Writing R Extensions says "Packages referred to by 
these
 >>>> ?other forms? should be declared in the DESCRIPTION file, in the
 >>>> ?Depends?, ?Imports?, ?Suggests? or ?Enhances? fields."  Of those
 >>>> fields, Suggests looks like the best fit.  You'd use Enhances if your
 >>>> package provides "methods for classes from these packages, or ways to
 >>>> handle objects from these packages".
 >>>
 >>>
 >>>       GitHub Actions failed after I added those packages to Suggests:
 >>>
 >>>
 >>> 
https://github.com/sbgraves237/Ecfun/runs/6869516417?check_suite_focus=true
 >>
 >> That log doesn't really give much info about what went wrong.  Maybe 
some of the packages in the Suggests list weren't available?
 >
 >
 >        Is there a way in GitHub Action to NOT fail when a package is 
not available -- or at least to give a more useful diagnostic?

Hi Spencer and all,

Yes, you can set the environment variable _R_CHECK_FORCE_SUGGESTS_. R 
CMD check will still run even if some suggested packages are missing. 
Provided no error is raised by your package when one of these Suggests 
is missing, you should be fine.

Best wishes,

Hugo

 >
 >
 >        There probably is, but I don't know how to find the right 
manual to read nor any better place to ask for help with that than here.
 >
 >
 >        Thanks, sg
 >
 >>
 >> Duncan Murdoch
 >
 > ______________________________________________
 > R-package-devel at r-project.org mailing list
 > https://stat.ethz.ch/mailman/listinfo/r-package-devel
1 day later
#
Hi, Hugo, et al.:


	  How can I "set the environment variable _R_CHECK_FORCE_SUGGESTS_" on 
GitHub Actions, as Hugo suggests below?


	  Secondly, I have another cryptic failure on macOS-latest (release):


Run r-lib/actions/setup-pandoc at v1


sudo installer -pkg /Users/runner/work/_temp/pandoc-2.7.3-macOS.pkg 
-target /


Error: The operation was canceled.


	  Any suggestions on this?  This package successfully passed four other 
platforms on GitHub Action [Windows-latest (release) and Ubuntu 
(release, devel, and oldrel-1).


	  Thanks,
	  Spencer Graves
On 6/14/22 3:09 AM, hugo.gruson+R at normalesup.org wrote: