r-hub / rhub

R-hub API client
https://r-hub.github.io/rhub/
Other
353 stars 52 forks source link

Build error on Solaris #473

Closed pakjiddat closed 6 months ago

pakjiddat commented 3 years ago

I ran the command:

devtools::check_rhub(platforms = c("solaris-x86-patched")

The build process ran correctly and all the tests passed. But the build log file had the following note:

checking top-level files ... NOTE
Files ‘README.md’ or ‘NEWS.md’ cannot be checked without ‘pandoc’ being installed.

Here is a link to the build log file

bbolker commented 3 years ago

What is your question? It doesn't surprise me that a Solaris platform might be missing a complete/up-to-date installation of pandoc ... are you wondering about the relevance of this NOTE to CRAN submission, or asking whether the pandoc functionality can be added to the Solaris platform, or ... ?

pakjiddat commented 3 years ago

Well my R Package was accepted by CRAN but the CRAN checks show some errors. I would like to know the complete and correct results of running R CMD Check on Solaris platform. It would be useful to have my package tested accurately on RHub.

bbolker commented 3 years ago

If these are the CRAN checks of your package, right now they look fine ... I appreciate wanting a completely clean build, but this one is at least pretty clearly identifiable as a defect of the build platform, not your package ...

pakjiddat commented 3 years ago

Yes those are the CRAN checks for my package. But those checks are for version 0.0.2 of the package. I had to release this version in order to fix the bugs in the previous version. See the NEWS file for the package. The CRAN checks for the previous version were failing, mainly because I was not able to properly test my package. Thanks.

gaborcsardi commented 3 years ago

There is probably a way to suppress this check, because there is no pandoc on Solaris.

pakjiddat commented 3 years ago

Well the command: rmarkdown::pandoc_available() can be used to check if pandoc is installed.

pandoc can be installed on Solaris using the installr package. Also it is possible that pandoc is already installed by its not in the PATH.

Another option is to suppress the note by adding READM.md and NEWS.md to the .Rbuildignore file.

A similar issue has been discussed on Stackoverflow. See this question and this one

gaborcsardi commented 3 years ago

Well the command: rmarkdown::pandoc_available() can be used to check if pandoc is installed.

You'll have to tell R-core to use that, they wrote R CMD check, not us.

pandoc can be installed on Solaris using the installr package.

That would be very surprising, because (AFAIK) even the Haskell compiler toolchain that you need need to compile pandoc is unavailable on Solaris. In fact installr downloads a Windows installer of pandoc on Solaris, but that is not going to work:

> installr::install.pandoc()
[... installr running ifconfig and failing ...]
trying URL 'https://github.com/jgm/pandoc/releases/download/2.14.0.3/pandoc-2.14.0.3-windows-x86_64.msi'
Content type 'application/octet-stream' length 23044608 bytes (22.0 MB)
==================================================
downloaded 22.0 MB

The file was downloaded successfully into:
 /tmp/RtmpIQyCxL/pandoc-2.14.0.3-windows-x86_64.msi

Running the installer now...
sh: /tmp/RtmpIQyCxL/pandoc-2.14.0.3-windows-x86_64.msi: cannot execute

Installation status:  FALSE . Removing the file:
 /tmp/RtmpIQyCxL/pandoc-2.14.0.3-windows-x86_64.msi
 (In the future, you may keep the file by setting keep_install_file=TRUE)
Warning messages:
1: In system("ifconfig", intern = TRUE) :
  running command 'ifconfig' had status 1 and error message 'Illegal seek'
2: In install.URL(URL, ...) :
  You do not seem to be connected to the internet. Hence - you will likely not be able to download software.

Another option is to suppress the note by adding READM.md and NEWS.md to the .Rbuildignore file.

That's up to the package author and not us, but then they won't be in the installed package.

A similar issue has been discussed on Stackoverflow. See this question and this one

Neither mention Solaris.

gaborcsardi commented 3 years ago

Unfortunately there is no switch in R CMD check to turn off this check. Another workaround would be to add a pandoc shell script to the Solaris box, that does something reasonable enough to make the check pass.

gaborcsardi commented 6 months ago

This issue is about the previous R-hub system, it does not apply to the new system, so I am closing it now. Please see https://r-hub.github.io/rhub/ for the new system, R-hub v2.