jeroen / V8

Embedded JavaScript Engine for R
https://cran.r-project.org/package=V8
Other
201 stars 29 forks source link

installation on RHEL 8 fails #84

Closed sangarole closed 4 years ago

sangarole commented 4 years ago

We have installed EPEL for RHEL 8 as well and tried installling v8-devel package. but getting errors.

jeroen commented 4 years ago

Yes I know, Redhat failed to include v8-devel in RHEL / CENTOS 8. Stephen Gallagher from Redhat has told me they plan to do fix for RHEL 8.2 ?

@sgallagher is there something that we can test yet?

jeroen commented 4 years ago

Update: v8 is still not available in the main EPEL, however @sgallagher has helped us by making v8 available in the nodejs:13 module repository via EPEL.

So in RHEL / CentOS 8 you can now do:

  yum -y install epel-release 
  yum -y module enable nodejs:13
  yum -y install v8-devel

And after that you will be able to install the V8 R package!

sgallagher commented 4 years ago

Slight correction: after yum -y install epel-release, you also need to do yum -y update epel-release because the copy of that package in the CentOS repo is old and is missing the modular repository definitions.

jeroen commented 4 years ago

I tested the above in a clean docker image and it already worked. I think if you ran yum update recently then yum install epel-release will automatically give you the latest version.

krlmlr commented 4 years ago

I received this today:

Package V8 no longer installs on fedora-clang after upgrading to Fedora 32.

Packages

codemetar datarobot dccvalidator dm dqshiny ggforce mcmcabn shinyMobile sparrpowR textplot

suggest it or a package which requires it but do not use it conditionally (see §1.1.3.1 of 'Writing R Extensions').

Please correct ASAP and before June 30 to safely retain the package on CRAN.

jeroen commented 4 years ago

This is unrelated to the above issue. It means that you have V8 as a Suggets (directly or indirectly) but you are not checking if it is installed, causing to fail CMD check. You have two options:

  1. Declare V8 (or the package that uses V8) a hard dependency via Imports. This way your package will not be checked on CRAN platforms that do not have V8.
  2. Keep V8 in suggests, and rework your package to make sure that it will still pass CMD check if V8 is not installed.
krlmlr commented 4 years ago

Thanks. The warning is triggered only because V8 can't be installed. I suspect it's hard to persuade CRAN's machines to play well with V8, this means we need to use https://github.com/r-lib/roxygen2/pull/993 :smirk:

jeroen commented 4 years ago

You can just wrap your example in


if(require("V8")({
 # code that requires v8
}
krlmlr commented 4 years ago

That's what the pull request does for me, while keeping the examples tidy.