[R-pkg-devel] GitHub Action failed re-building 'sos.Rnw'

Spencer Graves @pencer@gr@ve@ @end|ng |rom e||ect|vede|en@e@org
Mon May 24 00:49:51 CEST 2021


Hi, Duncan et al.:


	  Thanks again.  I removed fda from "suggests" and added it to 
"imports" in DESCRIPTION.  I also added "importFrom('fda', 'CRAN')" to 
NAMESPACE.  Sadly, the result was the same:  It passed "R CMD check" on 
Windows, ubuntu, and my local Mac but not macOS on GitHub Action.


	  How do you suggest I proceed from here?


	  You may recall that I started using "if(fda::CRAN())" as a way to 
keep checks for routine testing that take too much time on CRAN.  I've 
looked at Wickham's "skip_on_cran" but concluded, perhaps incorrectly, 
that it was not self contained and required more work to use than 
"if(fda::CRAN())".  If I'm incorrect in that assessment, I will happily 
accept instructions on how to convert "if(fda::CRAN())" to use 
"skip_on_cran".


	  Again, I really appreciate the help.
	  Spencer


On 5/23/21 4:44 PM, Duncan Murdoch wrote:
> I don't see where the connection is, but it's almost certainly coming in 
> through your unconditional use of "fda::CRAN()".  Since "fda" is not a 
> hard requirement, this should be conditional on having it installed.
> 
> Duncan Murdoch
> 
> On 23/05/2021 5:25 p.m., Spencer Graves wrote:
>> Hi, Duncan et al.:
>>
>>
>>       I inserted "the lines from the rgl workflow to work around the
>> XQuartz issues" that Duncan provided after "env" in TWO places in
>> R-CMD-check.yaml with the same result:  GitHub Action worked fine on
>> Windows and ubuntu (both release and devel) but failed on macOS
>> complaining, "there is no package called 'ks'".
>>
>>
>>       HOWEVER, I can NOT see how I even ask for ks.  The error message 
>> says:
>>
>>
>> processing the following file failed: 'sos.Rnw'
>> Error: Error: Vignette re-building failed.
>> Execution halted
>> Error: Error in proc$get_built_file() : Build process failed
>> Calls: <Anonymous> ... build_package -> with_envvar -> force -> 
>> <Anonymous>
>> Execution halted
>> Error: Process completed with exit code 1.
>>
>>
>>       I can NOT find it with "grep 'ks' sos.Rnw".  It's NOT in 
>> DESCRIPTION
>> nor NAMESPACE.
>>
>>
>>       I do NOT see how I am even asking for it.
>>
>>
>>       PROPOSED NEXT STEP:  Do as outlined in
>> "https://github.com/ThinkR-open/prepare-for-cran" and submit to CRAN
>> with a note on this problem in cran-comments.md if the package passes
>> all other tests.
>>
>>
>>       Other suggestions?
>>       Thanks again, Duncan.
>>       Spencer
>>
>>
>> On 5/23/21 2:36 PM, Duncan Murdoch wrote:
>>> For ks, if you look here:
>>> https://github.com/sbgraves237/sos/runs/2650960959?check_suite_focus=true 
>>>
>>>
>>> in the "Install Dependencies" section, you'll see these errors:
>>>
>>> trying URL 'https://cloud.r-project.org/src/contrib/ks_1.13.0.tar.gz'
>>> Content type 'application/x-gzip' length 1076044 bytes (1.0 MB)
>>> ==================================================
>>> downloaded 1.0 MB
>>>
>>> * installing *source* package ‘plot3D’ ...
>>> ** package ‘plot3D’ successfully unpacked and MD5 sums checked
>>> ** using staged installation
>>> ** R
>>> ** data
>>> *** moving datasets to lazyload DB
>>> ** inst
>>> ** byte-compile and prepare package for lazy loading
>>> Error: Error: .onLoad failed in loadNamespace() for 'tcltk', details:
>>> ERROR: lazy loading failed for package ‘plot3D’
>>>     call: fun(libname, pkgname)
>>> * removing ‘/Users/runner/work/_temp/Library/plot3D’
>>>     error: X11 library is missing: install XQuartz from www.xquartz.org
>>> Execution halted
>>> ERROR: dependency ‘plot3D’ is not available for package ‘ks’
>>> * removing ‘/Users/runner/work/_temp/Library/ks’
>>>
>>> so the problem is really with plot3D, and indirectly with rgl and tcltk.
>>> I'm familiar with problems like that!  Here are the lines from the rgl
>>> workflow to work around the XQuartz issues:
>>>
>>>       env:
>>>         R_REMOTES_NO_ERRORS_FROM_WARNINGS: true
>>>         _R_CHECK_FORCE_SUGGESTS_: false
>>>         RSPM: ${{ matrix.config.rspm }}
>>>         GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
>>>         RGL_USE_NULL: true
>>>
>>> The last line might be enough for you, but I think the 2nd line
>>>
>>> _R_CHECK_FORCE_SUGGESTS_: false
>>>
>>> may be more important:  you use ks, it imports plot3D, plot3D imports
>>> misc3d, but it only suggests rgl and tkrplot:  so that would let ks load
>>> without XQuartz support.
>>>
>>> Duncan Murdoch
>>>
>>> On 23/05/2021 3:09 p.m., Spencer Graves wrote:
>>>> Hi, Duncan et al.:
>>>>
>>>>
>>>>        Thanks again to Duncan.  Your suggestions worked for the LaTeX
>>>> problem, though it required multiple iterations, adding a total of 7
>>>> different "tinytex::parse_install" clauses to overcome other LaTeX and
>>>> pdfTeX errors.
>>>>
>>>>
>>>>        However, macOS still says, "there is no package called 'ks'", 
>>>> even
>>>> though I added 'install.packages("ks")' as you suggested -- to three
>>>> different places, all without solving the problem.  I posted this
>>>> question to
>>>> "https://community.rstudio.com/new-topic?category=Package%20development&tags=github-actions", 
>>>>
>>>>
>>>> as suggested in line 2 of "~/.github/workflows/R-CMD-check.yaml".  See:
>>>>
>>>>
>>>>        Spencer
>>>>
>>>>
>>>> On 5/23/21 11:03 AM, Duncan Murdoch wrote:
>>>>> This page
>>>>>
>>>>> https://bookdown.org/yihui/rmarkdown-cookbook/install-latex-pkgs.html
>>>>>
>>>>> suggests that executing this in R should fix the tikz issue:
>>>>>
>>>>> tinytex::parse_install(
>>>>>      text = "! LaTeX Error: File `tikz.sty' not found."
>>>>> )
>>>>>
>>>>> The "ks" message looks like a missing R package rather than a missing
>>>>> LaTeX package, so running install.packages("ks") would fix it.
>>>>>
>>>>> So the only question is how to do these things in a Github action.  I
>>>>> don't know if there's a pre-made recipe for this, but this one 
>>>>> should do
>>>>> it:
>>>>>
>>>>>          - name: Install tikz.tex and ks
>>>>>            run: |
>>>>>              install.packages(c('tinytex', 'ks')) # Maybe tinytex is
>>>>> already there?
>>>>>              tinytex::parse_install(
>>>>>                 text = "! LaTeX Error: File `tikz.sty' not found."
>>>>>              )
>>>>>            shell: Rscript {0}
>>>>>
>>>>> Duncan Murdoch
>>>>>
>>>>> On 23/05/2021 11:28 a.m., Spencer Graves wrote:
>>>>>> Hi, Duncan et al.:
>>>>>>
>>>>>>
>>>>>>         Thanks very much to Duncan for his suggestion.  I did 
>>>>>> added the
>>>>>> line
>>>>>> Duncan suggested in three slightly different places.  That fixed the
>>>>>> problems with missing tex and pdflatex, but exposed two new problems:
>>>>>>
>>>>>>
>>>>>>         On Windows and ubuntu (both release and devel) I now get:
>>>>>>
>>>>>>
>>>>>> LaTeX Error: File `tikz.sty' not found.
>>>>>>
>>>>>>
>>>>>>         On macOS, I got a different error:
>>>>>>
>>>>>>
>>>>>> there is no package called 'ks'
>>>>>>
>>>>>>
>>>>>>         I added "ks" to "suggests" in DESCRIPTON but still got "no
>>>>>> package
>>>>>> called 'ks'.  And I studied README in 
>>>>>> https://github.com/r-lib/actions,
>>>>>> and I did some other searches without figuring out how to fix
>>>>>> "`tikz.sty' not found."
>>>>>>
>>>>>>
>>>>>>         For more details, see:
>>>>>>
>>>>>>
>>>>>> https://github.com/sbgraves237/sos
>>>>>>
>>>>>>
>>>>>>         Suggestions?
>>>>>>         Thanks,
>>>>>>         Spencer
>>>>>>
>>>>>>
>>>>>> On 5/23/21 4:43 AM, Duncan Murdoch wrote:
>>>>>>> On 22/05/2021 10:05 p.m., Spencer Graves wrote:
>>>>>>>> Hello:
>>>>>>>>
>>>>>>>>
>>>>>>>>          What do you suggest I do to enable GitHub Action to 
>>>>>>>> process
>>>>>>>> "sos.Rnw"
>>>>>>>> properly?
>>>>>>>>
>>>>>>>>
>>>>>>>>          The development version of my "sos" package passes "R CMD
>>>>>>>> check" on
>>>>>>>> my Mac but fails in all four platforms under GitHub Action on
>>>>>>>>
>>>>>>>>
>>>>>>>> https://github.com/sbgraves237/sos
>>>>>>>>
>>>>>>>>
>>>>>>>>          The error messages on macOS and Ubuntu release and 
>>>>>>>> devel all
>>>>>>>> seems
>>>>>>>> the same:
>>>>>>>>
>>>>>>>>
>>>>>>>>                * Error: processing vignette 'sos.Rnw' failed with
>>>>>>>> diagnostics:
>>>>>>>> Running 'texi2dvi' on 'sos.tex' failed.  Messages: You don't have a
>>>>>>>> working TeX binary (tex) installed anywhere in your PATH, and
>>>>>>>> texi2dvi
>>>>>>>> cannot proceed without one.
>>>>>>>>
>>>>>>>>
>>>>>>>>          The error message under Windows seemed crudely similar but
>>>>>>>> different:
>>>>>>>>
>>>>>>>>
>>>>>>>>                * Error: processing vignette 'sos.Rnw' failed with
>>>>>>>> diagnostics:
>>>>>>>> pdflatex is not available
>>>>>>>>
>>>>>>>>
>>>>>>>>          What do you suggest?
>>>>>>>
>>>>>>> The virtual machines that run Github actions have lots of tools
>>>>>>> installed, but apparently not LaTeX.  So you need to figure out the
>>>>>>> "step" to install it.  I'm not currently using Rnw with Github
>>>>>>> actions,
>>>>>>> but by looking at the README for 
>>>>>>> https://github.com/r-lib/actions, I'm
>>>>>>> pretty sure all you need is to add
>>>>>>>
>>>>>>>       - uses: r-lib/actions/setup-tinytex using v1
>>>>>>>
>>>>>>> somewhere after
>>>>>>>
>>>>>>>       - uses: actions/checkout using master
>>>>>
>>>
>



More information about the R-package-devel mailing list