Open Alain-Bearez opened 4 years ago
Hello Alain,
the GraalVM Language Compatibility in the case of R does not always give the correct impression. As you discovered yourself installing some packages is a non trivial endeavor w.r.t. system configuration. Moreover, not all packages use a testing framework, so in the beginning we decided to just run the test scripts no matter what test framework (if any at all) they use and try to somehow fuzzy compare the output of FastR vs. GNU-R. This all turns out to be very complex and fragile process, which resulted in some misreported results like the one for Shiny. We'll see if we can improve this, but in the end we may end up removing the R packages reports from the website, because as your experience shows the fuzziness of the reported results may do more harm than good. Sorry for the confusion this may have caused.
Now for Shiny itself: Shiny should install on FastR and FastR can run some basic examples. We think this is a solid evidence that FastR supports all the important and sometimes quirky and unintuitive R features and so when we claim that FastR can run R code really fast, we're not cheating by ignoring some important aspect of R like lazy evaluation. We don't consider FastR ready for a prime time with such complex packages like Shiny -- we don't extensively test them w.r.t. correctness and performance. Note that execution of R native extensions is often slower on FastR due to frequent switches between native code and JVM. Unfortunately, these switches are fast in GNU-R and package authors are not motivated to minimize them and to use R instead of C/C++.
I've tried installing Shiny on the following Docker image that we use for testing compatibility with Oracle Linux 8 and it seems to work fine:
FROM oraclelinux:8
RUN (yum -y check-update || true) && \
yum -y groupinstall 'Development Tools' && \
yum -y install gcc-gfortran
RUN mkdir /graalvm
COPY ./graalvm /graalvm # there must be local copy of GraalVM with FastR installed next to the Dockerfile
ENTRYPOINT ["/graalvm/bin/R"]
I've used JDK8 based GraalVM version 20.2. I see you use JDK11 based GraalVM. Could you try if using JDK8 would resolve your problem? That would mean there is some issue with JDK11 that we would need to investigate.
Despite the package
shiny
being reported as "100.00% tests pass" on GraalVM Language Compatibility checker, its installation fails.Can you reproduce with the latest development build?
The error on
20.3.0-dev-20200812_0203
is slightly different from the one on20.1.0
and might provide more insights about the error cause:Include the following info
The error can be reproduced by using the following
Dockerfile
: https://gist.github.com/Alain-Bearez/478d61607f9ad275d1f97ac1f179ed16Optionally: try to reduce the error
The docker image referred to as
cuali/fastr
below was produced by the following command:First attempt to reduce the error, with complete set of installation options:
Second attempt to reduce the error, after removal of the
--no-R
installation option: